emacs有可能以一種方式搜索文件名,這種方式是先鍵入擴展名,然後是空格鍵,然後是文件名後面?例如。 org notes org 或不會將切換到notes.org。Emacs - 通過鍵入擴展名,然後輸入文件名切換到緩衝區
或者有什麼辦法可以編寫這樣的函數來做到這一點?
emacs有可能以一種方式搜索文件名,這種方式是先鍵入擴展名,然後是空格鍵,然後是文件名後面?例如。 org notes org 或不會將切換到notes.org。Emacs - 通過鍵入擴展名,然後輸入文件名切換到緩衝區
或者有什麼辦法可以編寫這樣的函數來做到這一點?
如果您使用ido,您可以輸入org c-space備註。
伊多需要一點時間去習慣,但個人我不能沒有它生活。
對於那些想要upvote ido的人來說,checkout anything-config。分割窗口讓您可以更好地查看諸如文件/緩衝區名稱之類的長字符串,並且可以混合使用大量預定義的源代碼。 –
我個人使用ido,是的,它可以做到。像這樣的「C-x b。擴展M-m名稱」。 @event_jr我從來沒有使用過「冰柱」或「任何東西」(但我使用iswitchb並將它評論出來,因爲ido可以做得更好)。你能說幾句關於Ido/Icicles/Anything的兼容性嗎?他們都在做同樣的事情,還是有理由一起使用它們? – desudesudesu
AFAIK任何東西都與ido兼容。雖然我沒有看到使用兩者的理由。 Ido和任何類似的東西,除了任何東西在常規緩衝區中顯示選項,而不是小緩衝區。 –
Anything可以做到這一點很容易,運行任何程序,輸入緩衝區的名稱的話,結果表明:
按照這個進行安裝:http://emacs-fu.blogspot.com/2011/09/finding-just-about-anything.html
如果你能要過濾緩衝區,這裏是你的配置示例:
(require 'anything-config)
(global-set-key (kbd "C-x b")
(lambda() (interactive)
(anything
:prompt "Switch to: "
:sources
'(anything-c-source-buffers))))
我完全同意And ers,IDO非常有用。例如,如果您有兩個緩衝區「some-video-page.js」和「video.py」,則可以輸入「C-x b vidjs」或「C-x b vidpy」切換到其中任何一個。
(ido-mode)
(setq ido-enable-flex-matching t)
還考慮用ibuffer來組織你的緩衝區。您可以按完整文件名過濾緩衝區,並根據當前過濾器關閉多個緩衝區。
(global-set-key (kbd "C-x C-b") 'ibuffer)
回到你的問題。 Emacs現在提供了uniquify庫,默認情況下它將在緩衝區名稱中包含父目錄的名稱。但是,這是我們正在談論的emacs,您可以根據需要自定義它。我有一個自定義的文件鉤子,前綴只有python模塊名稱的python緩衝區。 IDO對你來說是否夠用,還是你還想要自定義的開關緩衝功能?
Icicles這是否開箱 - 只需使用S-TAB,而不是TAB完成 - 即apropos completion而不是前綴完成。
要完成針對多種模式(例如子串)而不考慮其順序,請使用progressive completion。您使用S-SPC來分離模式。
C-x C-f notes S-SPC org
或
C-x C-f org S-SPC notes
,或者以確保org
匹配的文件擴展名,使用\.org
。 (或者使用C-`切換串/正則表達式匹配,即,正則表達式特殊字符轉義。)
同樣的事情,如果你使用緩衝名完成(或任何其他形式完成的),而不是文件名完成。
至於Ido的「flex」匹配,冰柱有同樣的事情(它被稱爲「分散」匹配),以及其他幾種類型的fuzzy matching。 (但是,所有形式的模糊匹配比它們的聲音更有用,恕我直言。)
您可以(近似)通過使用名稱通配來完成此操作。
C-Xb*.org
TAB
Emacs的移動自動指向的星號後坐,讓您可以立即繼續輸入緩衝區名稱的一部分。
另外*org
比*.org
稍微容易打字,並且可能會爲您達到足夠類似的效果。與Emacs一起發貨的
Iswitchb並不完全是這樣,而是接近。它顯示了小緩衝區中的緩衝區名稱列表。在輸入時,列表將縮小到名稱中包含您鍵入的文本的緩衝區(任何地方,而不僅僅是開頭)。所以,如果你輸入.org
,那麼你將下載到名稱爲.org
的緩衝區。要打開這些文件中的特定文件,您需要將光標移到左側並輸入文件名的最後一個字母,或者按C-r
或C-s
在這些匹配之間旋轉。
Emacs wiki有page on Iswitchb和comparison of Icicles, Ido and Iswitchb。
我愛iswitchb,但我從來不知道C-r/C-s的東西,這非常有幫助。 :) – RealityMonster
出於好奇:這種功能的用例是什麼? –
它會讓我很容易地看到給定類型的所有文件,以方便打開許多緩衝區。 – Jarek
啊,好吧,我明白了。謝謝! –