2012-04-19 103 views
6

當我想在vim中打開一個文件時,輸入:e查看磁盤上的目錄(set wildmenu)。 Vim顯示了我的目錄列表,然後我多次按Tab鍵選擇我需要的目錄,並且當我選擇該目錄時(vim突出顯示它),我應該如何在當前級別停止完成並進入該目錄?vim路徑自動完成,我該如何進入一個目錄?

我知道,在插入模式完成它的CTRL-Y,從VIM幫助文件:

     *complete_CTRL-Y* 
When the popup menu is displayed you can use CTRL-Y to stop completion and 
accept the currently selected entry. The CTRL-Y is not inserted. Typing a 
space, Enter, or some other unprintable character will leave completion mode 
and insert that typed character." 

怎麼做,在命令行模式?

回答

10

我認爲它按Ctrlê在命令模式

vim docs

     *complete_CTRL-E* 

當完成激活,您可以使用CTRL-E來停止並返回到 最初鍵入的文本。 CTRL-E不會被插入。

我在我的gVim中試過這個,它工作正常。

編輯:感謝的建議由@弗朗索瓦,按Ctrld確實有一些額外的信息是一樣的。即它停止在當前等級完成並且還示出當前選擇的

喜歡的東西

:e eclipse-cpp-indigo-SR2-incubation-win32-x86_64\eclipse\ <Ctrl><D> 
artifacts.xml eclipse.exe  epl-v10.html p2\ 
configuration\ eclipse.ini  features\  plugins\ 
dropins\  eclipsec.exe notice.html  readme\ 

內容據表示內容的文件夾eclipse內部太除了在eclipse目錄水平停止完成。

+0

謝謝,正是我所搜索的。 – 2012-04-19 05:22:18

+5

請注意,ctrl-D具有相同的效果,但也會列出文件夾的內容。更一般地說,它將「列出與光標前面的模式相匹配的名稱」(請參閱​​:help c_ctrl-D)。 – 2012-04-19 07:56:17

+0

@弗朗索瓦感謝隊友!我更新了我的回答,以反映你的建議 – 2012-04-19 08:07:00

1

當您按下Tab鍵所需的目錄時,按下右箭頭鍵(或鍵入一個字符並將其刪除)。完成後,使用該目錄作爲基礎目錄並遍歷其子目錄。

例如,你在當前目錄下面的文件結構:

- a 
- b 
    - c 
    - d

您鍵入e命令,然後按Tab鍵。第一個建議的目錄是a。再次按Tab鍵以選擇下一個目錄 - b。現在按右箭頭鍵。之後,b目錄被選中,並在其內部開始完成。

正如我之前所說的,您可以鍵入一個字符並將其刪除。如果您留下一個字符(或一系列字符,例如前綴),它將用作過濾器(僅選擇名稱從前綴開始的那些目錄)。

我認爲還有其他解決方案。但以上兩點對我來說已經足夠了。

+1

這就是我現在要做的,但在我看來這是無效的。我認爲應該有更好的方法來做到這一點。 – 2012-04-19 05:06:35

+0

對不起。我沒有完全理解你的問題。 – 2012-04-19 05:32:40

0

還有一個選項:當我想選擇並繼續時,我只需輸入另一個「/」並繼續標籤。在我的狀態欄中看起來有點醜陋,但這是一次擊鍵,我不必離開我的主隊。