7

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

谢谢你。

4

3 回答 3

13

M-x ibuffer RET
tDy

我强烈建议使用绑定C-xC-bibuffer替代默认绑定:

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

(我也将我的<menu>密钥绑定到ibuffer,因为我经常使用它。)

nb 您可以在常规中使用C-kand来标记和终止缓冲区,但我认为每个人都应该使用,真的。xlist-buffersibuffer

于 2012-12-20T23:13:07.663 回答
11

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

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

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

对我来说很好:-)

于 2012-12-21T02:27:33.700 回答
1

高度hack-ish,但做你想要的:

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

请注意,Emacs 始终需要至少一个缓冲区,因此您最终会再次得到一个空的暂存缓冲区。(是的,这个命令也会杀死像 minibuffer 这样的东西,但它会被恢复。正如我所写的:高度 hack-ish。)

于 2012-12-20T23:20:28.883 回答