Directory

通過文件名而不是完整路徑在 emacs 中打開文件

  • June 7, 2012

假設我有一堆目錄,並且可以保證沒有兩個目錄具有共同的文件名(即如果foo/bar存在,則bar在任何其他目錄中都不存在)。如何設置 emacs,以便在給定.emacs要搜尋的目錄中的硬編碼列表的情況下,我可以告訴它打開bar它並發現它在其中,而不是我每次都foo需要告訴它?foo/bar如果它以某種方式處理名稱衝突(例如可能的匹配列表)會更好,但這不是強制性的,因為我確定在這種情況下目錄沒有共同的文件名

當我寫這篇文章時,我發現ifind-mode它看起來很準確。

(setq workspace-dir "/path/to/dir1 /path/to/dir2")
(require 'ifind-mode)
;; maybe change `ifind-command' as well

然後鍵入M-x ifind-mode以在指定目錄(預設為子目錄)中查找文件,並完成漂亮的操作。


我通常做的是e **/bar來自 zsh (其中e是 的別名emacsclient)。但是,如果您已經在 Emacs 中,那將是破壞性的。此外,如果有一個我經常編輯的特定文件,我會將其保持打開狀態(並保存我的會話)。

開箱即用,您可以執行M-x find-dired並指定find. 但這很笨拙,至少在你有一個匹配的情況下是這樣。ifind使這不那麼笨拙。

ido有一堆可能有用的特性,尤其是使用 ido 從項目中查找任何文件

引用自:https://unix.stackexchange.com/questions/11534