1

我有很多框架总是在 emacs 中打开。就像我使用 emacsclient(守护进程)并且几乎从不重新启动计算机一样,这些框架永远不会关闭。我可以关闭一个,C-x k但如何关闭所有打开的框架?

4

2 回答 2

3

关闭所有框架只是退出,不是吗?

如果要关闭除一帧以外的所有帧,可以使用delete-other-frameskey-sequence C-x 5 1

于 2013-12-15T18:55:03.393 回答
1

这似乎可以接受。它会询问您终止列表上的缓冲区之一是否有未保存的更改。

(defun close-all-other-buffers-and-frames ()
  "Destroy all frames except this one, kill all buffers, display `*scratch*'."
  (interactive)
  (set-buffer "*scratch*")
  (delete-other-frames)
  (let ((l (buffer-list)) b)
    (while l
      (setq b (car l)
            l (cdr l) )
      (and (buffer-file-name b)
           (kill-buffer b) ) ) ) )

我觉得杀死缓冲区的循环可以更优雅地完成——请提出改进​​建议!

于 2013-12-16T11:00:41.543 回答