如何杀死我的emacs中的所有'缓冲区'

时间:2012-12-20 22:59:58

标签: emacs

是否有命令要杀死我的emacs中的所有缓冲区?而不是让我一个接一个地做'Ctrl -k',直到没有更多的缓冲区?

谢谢。

3 个答案:

答案 0 :(得分:10)

M-x ibuffer RET
d ý

我强烈建议将 C-x C-b 绑定到ibuffer,以取代默认绑定:

(global-set-key (kbd "C-x C-b") 'ibuffer)

(我还将< menu> 键绑定到ibuffer,因为我经常使用它。)

n.b。您可以在常规list-buffers中使用 Ck x 来标记和终止缓冲区,但我认为每个人都应该使用ibuffer。 / p>

答案 1 :(得分:7)

我正在使用此函数来杀死emacs中的所有缓冲区

(defun nuke-all-buffers ()
  (interactive)
  (mapcar 'kill-buffer (buffer-list))
  (delete-other-windows))

(global-set-key (kbd "C-x K") 'nuke-all-buffers)

适合我的工作: - )

答案 2 :(得分:1)

非常黑客,但做你想做的事:

(defun my-kill-everything ()
  (interactive)
  (dolist (cur (buffer-list))
    (kill-buffer cur)))

请注意,Emacs始终需要至少一个缓冲区,因此您最终会再次使用空的暂存缓冲区。 (是的,这个命令也会杀死像迷你缓冲器这样的东西,但它会被恢复。正如我写的那样:非常黑客。)