功能list-buffers
從window.el
利用功能display-buffer
,第二和第三個可選的參數(即,動作和畫面)nil
因爲他們沒有指定任何東西。 Emacs主分支中display-buffer
的文檔字符串的最後一段顯示爲:「」display-buffer「的ACTION參數也可以具有非零和非列表值,這意味着要在窗口中顯示緩衝區比選擇一個,即使它已經顯示在選擇窗口等。如果用一個前綴參數交互叫,行動噸。「
在buff-menu.el
定義list-buffers
原有的功能包含一行,看起來像這樣:(display-buffer (list-buffers-noselect arg))
。這個答案的作用是增加一個t
,以便display-buffer
的第二個可選參數 - 即ACTION - 是非零和非列表。這實現了上述文檔字符串中描述的行爲。新功能看起來是這樣的,它可以直接粘貼到.emacs
文件:「 DOC-字符串」
(defun list-buffers (&optional arg)
"Display a list of existing buffers.
The list is displayed in a buffer named \"*Buffer List*\".
See `buffer-menu' for a description of the Buffer Menu.
By default, all buffers are listed except those whose names start
with a space (which are for internal use). With prefix argument
ARG, show only buffers that are visiting files."
(interactive "P")
(display-buffer (list-buffers-noselect arg) t))
而不是使用'(defun定義列表緩衝區(可選ARG)「(互動式」 P 「)(display-buffer(list-buffers-noselect arg)))''可以考慮像這樣添加一個't':'(defun list-buffers(&optional arg)」Doc-string ...「」(交互式「P」 )(display-buffer(list-buffers-noselect arg)t))'這能解決你的問題嗎? – lawlist
Emacs *主分支中* display-buffer的doc-string的最後一段指出:* *'display-buffer'的ACTION參數也可以有非零和非列表值。在一個窗口中顯示緩衝區,即使它已經顯示在選定的窗口中如果用前綴參數交互調用,ACTION是t。*「 – lawlist
@lawlist:實際上我沒有定義list-緩衝'.emacs'中的任何地方,我沒有改變任何地方的綁定。如果您可以指向我必須進行此更改的文件,或者更好,如果您可以向我解釋需要添加到我的'.emacs'文件的內容,我可以嘗試一下您的建議。我對elisp的東西不是很熟悉,我只是想讓老的行爲迴歸。 :-) – dirkt