通过按Alt + F4关闭emacs-client框架时杀死关联的缓冲区

yby*_*ygu 6 emacs

我习惯了emacsclient,以便像vim一样快速响应,将emacs放入服务器模式,命令为"emacs --daemon".但是当我查看一些文件然后按Alt + F4关闭它们时,我发现很多缓冲区都存活起来很烦人.我必须在关闭帧之前明确地杀死缓冲区.

我想知道,如果有一种方法可以让emacsclient在这一点上表现得更像一个轻量级的GUI编辑器(例如vim)?

sco*_*zer 3

我认为您是在自找麻烦,但您可以尝试以下操作:

(add-hook 'delete-frame-functions
          (lambda (frame)
            (let* ((window (frame-selected-window frame))
                   (buffer (and window (window-buffer window))))
              (when (and buffer (buffer-file-name buffer))
                (kill-buffer buffer)))))
Run Code Online (Sandbox Code Playgroud)