當使用emacs ido模式啓用緩衝區切換時,完成列表將顯示在小緩衝區中。看起來有一個「功能」,已經打開的緩衝區被放到列表的末尾。但是,我經常在多個窗格中打開相同的緩衝區。Emacs ido在循環列表中首先打開緩衝區
有沒有辦法關閉這個「功能」,或者做相反的事情:讓已經打開的緩衝區位於完成列表的前面?
當使用emacs ido模式啓用緩衝區切換時,完成列表將顯示在小緩衝區中。看起來有一個「功能」,已經打開的緩衝區被放到列表的末尾。但是,我經常在多個窗格中打開相同的緩衝區。Emacs ido在循環列表中首先打開緩衝區
有沒有辦法關閉這個「功能」,或者做相反的事情:讓已經打開的緩衝區位於完成列表的前面?
ido模式的要點在於,您不要使用箭頭在小緩衝區中的緩衝區之間導航。而是鍵入緩衝區名稱的一部分。在這種情況下,緩衝區在列表中的位置並不重要。
這是不可能的,除非你想在艾多的腸子裏深深地跋涉。
正如eGlyph已經說了:你很有可能使用IDO錯誤(還有還有C-s
爲<right>
和C-r
爲<left>
;無需箭頭鍵)。
但是你可以爲已經表現出緩衝器當中選擇定義命令(只從當前幀這裏,如果你想所有顯示緩衝區你必須先通過`幀列表收集窗口):
(defun choose-from-shown-buffers()
(interactive)
(let ((buffers (mapcar (lambda (window)
(buffer-name (window-buffer window)))
(window-list))))
(pop-to-buffer (ido-completing-read "Buffer: " buffers))))
「深入到ido的腸子」 - >我害怕那樣。還是)感謝你的建議 – momeara
當多個緩衝區有一個公共前綴時,它們列出的順序決定了到達特定緩衝區需要多少個Cs。所以訂單確實很重要。 – momeara
您可以鍵入緩衝區名稱的任何部分。如果你有緩衝區名稱,比如test_feat_a.py,test_feat_b.py等,那麼在這種情況下你只需鍵入名稱的唯一部分'_a'或'_b'。 – eGlyph