代码之家  ›  专栏  ›  技术社区  ›  Hartmut Pfarr

Emacs:默认情况下如何切换缓冲区菜单文件

  •  2
  • Hartmut Pfarr  · 技术社区  · 15 年前

    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)
    

    但是当我显示缓冲区列表时,它会说:

    运行挂钩:参数数目错误:[(arg)“…”[arg buffer menu files only prefix numeric value 0 t revert buffer]2 578818“p”],0

    有人能给我个提示吗?

    3 回复  |  直到 11 年前
        1
  •  4
  •   rjray    15 年前

    试试这个:

    (add-hook 'buffer-menu-mode-hook
              '(lambda ()
                 (Buffer-menu-toggle-files-only 1)))
    

    我不使用缓冲菜单,所以这是未测试的。但这是所有我的模式钩子都遵循的形式,它们都可以工作。

        2
  •  2
  •   Drew    14 年前

    模式挂钩建议应该可以正常工作。

    另一种方法是:

        (defun my-list-buffers ()
          (interactive)
          (list-buffers t))
    

    另外,我想你已经知道了 C-U-C-X-C-B 仅列出文件缓冲区。

        3
  •  2
  •   Mario Giovinazzo    12 年前

    这是可行的,也正是你需要的。

    (global-set-key (kbd "C-x C-b") 'my-buffer-menu)
    (defun my-buffer-menu()
       (interactive)
       (buffer-menu)
       (Buffer-menu-toggle-files-only 1))
    
    推荐文章