2010-10-19 132 views
2

buff-menu+.el(也包括buff-menu.el)有一個名爲Buffer-menu-toggle-files-only功能,設置可變Buffer-menu-files-onlyt/nilEmacs的:如何切換緩衝區菜單 - 文件 - 默認情況下只

當顯示緩衝器列表,我可以與鍵Ť切換此所以能夠防止非文件緩衝器從列表中被顯示。我想要默認設置此篩選器(僅限文件)。我怎麼能在我的​​文件中實現這個?

我想:

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

但是當我然後顯示緩衝區列表,它說:

運行鉤:錯誤的參數個數:#[(ARG)」 ... 「[arg緩衝區菜單文件只前綴數字值0 t恢復緩衝區] 2 578818」P「],0

任何人都可以給我一個提示嗎?

回答

4

試試這個:

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

我不使用緩衝區菜單,所以這是未經測試。但是,這是我所有模式鉤子所遵循的形式,它們都有效。

+0

沒有爲我工作(GNU emacs 25.1.1)。我在'* Messages *'中收到了一條消息,認爲該選項已被更改,但仍顯示非文件。 – edam 2017-02-27 14:48:01

2

模式鉤建議應該正常工作。

另一種方式去是這樣的:

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

另外,我想你已經知道C-ùC-X C-B只列出文件緩衝區。

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)) 
+0

你也可以直接調用'(buffer-menu 1)',而不是在之後進行切換。 – edam 2017-02-27 14:45:10

+0

此外,調用'(buffer-menu-other-window 1)'模仿將窗口分割爲緩衝區的默認行爲。 – edam 2017-02-27 14:46:22

相關問題