我有一个缓冲区,我想在按键时在 emacs 的窗口中“切换”打开。
例如:
________________ ________________ ________________
| | | | | | |
| | | | | | |
| | | | | | |
| W | -> | S | W | -> | W |
| | <f3> | | | <f3> | |
| | | | | | |
---------------- ---------------- ----------------
在哪里S
在左侧窗口中是一个特定的缓冲区。
问题出现了,无论W
的窗口结构如何,这都应该发生。是。如果W
里面有几个不同的窗口,按 <F3>
仍然应该在屏幕边缘创建一个新窗口,并将特定的缓冲区放入其中,然后它应该将其取走。
不过,我不太确定如何在 emacs 中执行此操作。
最佳答案
试试这个作为起点,它需要包 popwin
。
(require 'popwin)
(popwin-mode 1)
(generate-new-buffer "special-buffer")
(setq eab/special-buffer-displaedp nil)
(setq eab/special-buffer "special-buffer")
(add-to-list 'popwin:special-display-config
`(,eab/special-buffer :width 20 :position left :stick t))
(defun eab/special-buffer-toggle ()
(interactive)
(if eab/special-buffer-displaedp
(progn
(popwin:close-popup-window)
(setq eab/special-buffer-displaedp nil))
(progn
(ignore-errors (popwin:display-buffer eab/special-buffer))
(setq eab/special-buffer-displaedp 't))))
(global-set-key (kbd "<f3>") 'eab/special-buffer-toggle)
关于windows - Emacs,切换特定窗口,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19462168/