在buff-menu+.el
(以及buff-menu.el
)中有一个名为Buffer-menu-toggle-files-only
的函数,它将变量Buffer-menu-files-only
设置为t
/ nil
当显示缓冲区列表时,我可以使用键 T 来切换它,这样我就可以防止非文件缓冲区显示在列表中。我想默认设置此过滤器(仅文件)。我怎么能在我的init.el
文件中实现这个?
我试过了:
(add-hook 'buffer-menu-mode-hook 'Buffer-menu-toggle-files-only 1)
但是当我显示缓冲区列表时,它会显示:
run-hooks:参数数量错误:#[(arg)“...”[arg Buffer-menu-files-only prefix-numeric-value 0 t revert-buffer] 2 578818“P”],0
有人可以给我一个提示吗?
答案 0 :(得分:4)
试试这个:
(add-hook 'buffer-menu-mode-hook
'(lambda ()
(Buffer-menu-toggle-files-only 1)))
我不使用缓冲区菜单,所以这是未经测试的。但这是我所有模式挂钩所遵循的形式,它们都有效。
答案 1 :(得分:2)
模式挂钩建议应该可以正常工作。
另一种方法是:
(defun my-list-buffers () (interactive) (list-buffers t))
另外,我假设您已经知道 C-u C-x C-b 仅列出文件缓冲区。
答案 2 :(得分:2)
这可以完全满足您的需求。
(global-set-key (kbd "C-x C-b") 'my-buffer-menu)
(defun my-buffer-menu()
(interactive)
(buffer-menu)
(Buffer-menu-toggle-files-only 1))