当我想自定义的行为,当我在Emacs分割窗口:控制Emacs的行为分割窗口
我总是分裂,因为我想查看一个单独的缓冲并排侧与一个我正在编辑。
我使用electric-buffer-list
(绑定到C-x C-b)导航缓冲区。
我最终做所有的下列分别:
C-×3到水平分割。
C-x o切换到另一个窗口。
C-x C-b调用
electric-buffer-list
所以我可以选择我想查看的缓冲区。
好像我应该能够写一个elisp的功能,会做这一切时,我按C-×3。
我发现this post其中描述了我想要的行为的焦点切换部分,但我不明白如何扩展该答案以实现我所要做的所有事情。
编辑:回顾@ lawlist的帖子和调试我的语法后,我觉得我想要做这样的事情:
(defun split-right-and-buffer-list()
(interactive)
(split-window-horizontally)
(other-window 0)
(electric-buffer-list 0))
(global-set-key (kbd "C-x 3") 'split-right-and-buffer-list)
这不我想要的一切,但是缓冲列表出现时只列出当前缓冲区,而不是当我从其键绑定中调用electric-buffer-list
时得到的所有缓冲区的正常列表。
这里是一个类似的线程在那里我修改'拆分窗口below' - 你可以创建自己的函数,水平分割:http://stackoverflow.com/a/19300409/2112489你不必须使用'defalias' - 也就是说,您可以通过名称来调用您自己修改的函数。在你想要的窗口中,你可以使用'switch-to-buffer' - 在我们使用'select-window'的窗口之间移动。 。 ' – lawlist
这些链接中的任何一个如何在分离窗口中显示标准缓冲区列表?如果您愿意,可以修改示例以显示不同类型的缓冲区列表。此链接是一个左或右拆分示例:http://stackoverflow.com/a/21544307/2112489此链接是一个拆分下面的示例:http://stackoverflow.com/a/21591259/2112489 – lawlist