【问题标题】:Preserving buffers order in emacs split window在 emacs 拆分窗口中保留缓冲区顺序
【发布时间】:2017-07-21 20:36:23
【问题描述】:

我在 emacs 中打开了两个相邻的缓冲区,让我们在分屏中按顺序将它们称为 A、B。我有一个打开一个新文件(C)的函数,并且取决于我在哪个缓冲区(A,B)中执行该函数,如果在A(场景1)中执行,缓冲区将向右移动为(C,A)如果在 B 中执行(场景 2),缓冲区将保持原位 (C,B)。

我使用另一个函数来简单地关闭新缓冲区 (C),但现在原始文件的顺序将在第一个场景(场景 1)中更改(B,A)。

有没有办法在(我使用的关闭函数)中包含功能以保留文件 A、B 的原始顺序?

t 在他们的位置,在完成后使用另一个函数来关闭这两个新缓冲区。有没有办法保留原始缓冲区的顺序?

意思是,如果它们以 A、B 并排的顺序排列,则在关闭新缓冲区后将它们保持在该顺序,而不是 B、A。

【问题讨论】:

  • 听起来您可能会对帮助 Emacs 用户恢复以前的窗口布局和选定缓冲区的众多可用库之一感兴趣——例如,elscreen、透视图、工作区等。 . . . - - 我对 restore layout window emacs 做了一个简短的 Google 搜索,得到了很多结果。
  • 你用什么函数打开缓冲区C?无论您使用什么功能,似乎都希望将 C 放在左侧,但您可以将其配置为在您正在使用的对面窗口上打开。
  • Brian,我使用的函数必须将 C 放在左侧(我想要这样),但是在关闭 C 之后,我希望保留文件的原始顺序。方案 2 没有问题,因为订单保持 (A,B),但方案 1 是问题所在。我希望有一些功能可以在执行函数时保存这些缓冲区的顺序,然后在使用关闭函数时保留保存的顺序。

标签: emacs elisp


【解决方案1】:

这解决了它:

  (setq my-window-conf (current-window-configuration))
  ....
  (set-window-configuration my-window-conf)  ;; restore window layout and
                                             ;; selected buffers

【讨论】:

  • 将它作为with-saved-layout 构造会很有用。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2011-05-16
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多