如何一次性杀死emacs中的所有`buffers`?

问题描述 投票:0回答:4

是否有命令可以杀死我的 emacs 中的所有缓冲区?而不是让我一一执行“Ctrl -k”直到没有更多缓冲区?

谢谢你。

emacs keyboard-shortcuts
4个回答
15
投票

M-x

ibuffer
RET
tDy

我强烈建议将 C-xC-b 绑定到

ibuffer
作为默认绑定的替代品:

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

(我还将我的

键绑定到
ibuffer
,因为我经常使用它。)

n.b.您可以在常规 list-buffers 中使用 C-k

x
来标记和终止缓冲区,但我认为每个人都应该使用
ibuffer
,真的。

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

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

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

对我来说效果很好:-)

高度黑客风格,但可以做你想做的事:

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

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

在 Doom Emacs 中,还有一个函数

doom/kill-all-buffers
,默认绑定到
SPC q F
SPC b K


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)

对我来说效果很好:-)


1
投票

高度黑客风格,但可以做你想做的事:

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

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


0
投票

在 Doom Emacs 中,还有一个函数

doom/kill-all-buffers
,默认绑定到
SPC q F
SPC b K

© www.soinside.com 2019 - 2024. All rights reserved.