关于emacs窗口弹出的一些疑惑

emacs的窗口弹出逻辑是怎么样的呢? 我有几个困惑:

  1. 有时弹窗,有时不弹.
  2. 有时切换,到新窗口,有时则呆在当前窗口.
  3. 有时在上面窗口打开,有时窗口在下面窗口打开.

试试这个 (setq pop-up-windows nil)

https://www.gnu.org/software/emacs/manual/html_node/emacs/Displaying-Buffers.html

因为楼主说的不是详细,所以以下是猜测:

  1. 有时弹窗,有时不弹。猜测可能是指的原来有2个窗口,然后再调用 pop-to-buffer 的时候通常不会再令开一个窗口,而是显示在其中的一个窗口中。但是,如果初始只有1个窗口,通常 pop-to-buffer 会另开一个窗口来显示 buffer.
  2. 有时切换到新窗口,有时则待在当前窗口。原因跟第一条类似
  3. 有时在上面窗口打开,有时在下面窗口打开。猜测是部分窗口有定义对应的 display-buffer-alist 或者你有使用 popup/shackle 等第三方库,部分窗口使用了 display-buffer-below-selected 因而会在当前窗口下面显示
1 个赞

感谢回答.有没有比较直观的记忆方式,经常被打断了思路去确认"光标在哪?"

直接用hl-line-mode或者beacon,让当前激活的行更显眼一点。。。

2 个赞