2013-08-01 24 views
27

我使用ido模式。下面是我在.emacsEmacs:在ido模式下禁用自動文件搜索

(require 'ido) 
(setq ido-enable-flex-matching t) 
(setq ido-everywhere t) 
(ido-mode t) 

怎麼設置當我打開一個文件,我做CX比照my_file,如果它不在當前目錄中,Emacs會嘗試在有關搜索它在其他最近使用的目錄一秒。但是,大部分時間我只是想創建新文件。我必須非常快速地輸入文件名,然後用C-j來確認它。我怎麼能阻止ido這樣做?

+0

別名'打開新文件'作爲一些其他關鍵然後Cx Cf(Mx查找文件是行動的正確名稱) – user2141046

+1

@ user2141046 @woodings從'ido-find-file'你可以打'Cx Cf'再次下降到傳統的'find-file'界面 – assem

+0

@assem我不想回到正常的'find-file'。我需要'ido',但不能在其他目錄中搜索。 – woodings

回答

7

我發現了一個簡單的解決方案:

(setq ido-auto-merge-delay-time 9) 

這裏的時間是秒。我可以設置一個非常大的數字來完全禁用此功能。

+2

或者將'ido-auto-merge-work-directories-length'設置爲'-1'來禁用 – assem

+0

@woodings,這個問題在我使用ido的時候真的讓我厭煩了,最後,我決定搜索解決方案。在我得到這個頁面之前,我發現當你使用ido時,你可以使用C-f返回到正常模式而不是ido,但是你的解決方案似乎更好。謝謝! – CodyChan

31

下面將完全禁用該功能:

(setq ido-auto-merge-work-directories-length -1) 

我從來沒有見過任何價值,因此禁用它完全可能是有意義的很多人。

9

下面是使用伊另一種選擇:

  1. 類型C-X C-F如常。
  2. 使用Ido搜索查找要創建新文件的目錄。
  3. 在任何時候再次輸入C-f,Emacs將返回舊的find-file功能。

然後你可以輸入你想要的文件名,Emacs將創建一個新的緩衝區。所以,如果你鍵入C-X C-FC-Ffile_nameRET它會創建一個在當前目錄下名爲file_name暫時緩衝。