在 xemacs 中,如何杀死与特定模式匹配的缓冲区?我试过“kill-matching-buffers”,但我的 xemacs 似乎没有。我需要加载什么 .el/.elc 文件/eval-buffer 才能获得此功能?
我还想找到一种过滤缓冲区列表的方法,这样我就可以只看到我想删除的缓冲区,或者通过排序让它们彼此相邻。
在 xemacs 中,如何杀死与特定模式匹配的缓冲区?我试过“kill-matching-buffers”,但我的 xemacs 似乎没有。我需要加载什么 .el/.elc 文件/eval-buffer 才能获得此功能?
我还想找到一种过滤缓冲区列表的方法,这样我就可以只看到我想删除的缓冲区,或者通过排序让它们彼此相邻。
kill-matching-buffers
代码如下。您应该能够以XEmacs
最小的努力使其工作。
(defun kill-matching-buffers (regexp &optional internal-too)
"Kill buffers whose name matches the specified REGEXP.
The optional second argument indicates whether to kill internal buffers too."
(interactive "sKill buffers matching this regular expression: \nP")
(dolist (buffer (buffer-list))
(let ((name (buffer-name buffer)))
(when (and name (not (string-equal name ""))
(or internal-too (/= (aref name 0) ?\s))
(string-match regexp name))
(kill-buffer-ask buffer)))))
如果您需要定义dolist
(不知道它是否是 XEmacs),请检查cl-macs.el