2012-07-16 53 views
4

舉例說明。如何更改vim中的自動完成行爲?

我想分裂我的窗口和開放文件x.txt

在我的工作我也有一組文件的文件夾:從文件a.txt中文件 - z.txt

如果鍵入:

:sp file標籤

而不是得到 :sp file-正如我通常在bash中。

我得到: :sp file-a.txt

,因爲我需要或者挖掘標籤可笑倍或輸入很長的名字這是不是很方便。

有沒有辦法爲VIM設置文件名的自動完成行爲?

謝謝你的時間。

回答

11

'wildmode'設置控制命令行中的完成。試試

:set wildmode=longest:full,full 

這應該達到預期的效果。

1

您可以在這裏使用通配符:

:sp *x<Tab> 

在你描述的情況下,創下了單<Tab>應完成的命令行:

:SP文件x.txt

+0

''','*'等不是正則表達式,它們是文件通配符(也稱爲shell中的glob)。 Vim通常將它們稱爲_file-pattern_。 – 2012-07-16 12:51:15

+0

謝謝。我編輯了我的答案。 – romainl 2012-07-16 13:08:52

+1

「通配符」[方式](http://en.wiktionary.org/wiki/wildcard)「取代...的a *字符*」,因此'* x'不能是通配符。它通常由shell中的[glob]模式引用(「glob」本身[是一種技術](http://en.wiktionary.org/wiki/glob))或vim手冊中的「文件模式」。儘管我有時會看到被稱爲「globs」的glob模式,但我從來沒有看到有人使用術語「wildcard」來指代某種模式。您可以閱讀bash或zsh手冊以確保來自wiktionary的定義是真實的並且「glob」不被用作「模式」。 – ZyX 2012-07-16 15:54:11