kill-buffer有时会将焦点切换到neotree窗口

时间:2017-12-01 22:06:15

标签: emacs

我不想要这种行为。实际上,并非每次都是焦点切换。例如,*Help**Message*之类的缓冲区没有此行为,只有在关闭常规文件缓冲区时,此不需要的功能才会处于活动状态。

如何完全禁用此功能?

1 个答案:

答案 0 :(得分:0)

我对这个问题的解决方案就是编写我自己的缓冲区kill处理程序。希望将来能帮到某人。

(global-set-key (kbd "C-w")
                (lambda ()
                  (interactive)
                  (if (string= (substring (buffer-name) 0 2) " *")
                      (progn
                        (message "You can not kill protected BUFFER"))
                    (progn
                      (if (string= (substring (buffer-name) 0 1) "*")
                          (progn
                            (call-interactively 'kill-buffer))
                        (progn
                          (call-interactively 'kill-buffer)
                          (run-at-time "0.5 sec" nil
                                       (lambda ()
                                         (call-interactively 'windmove-right)))))))))

您需要为ace-window安装windmove-right软件包,受保护缓冲区的功能与此答案无关,因此您可以自由删除它。