2013-08-21 50 views
5

我的命令模式完成設置爲:在vim命令模式如何自動完成選項

set wildmenu 
set wildmode=longest,list,full 

目前當i型

:set fdm= 

在命令模式中,然後按標籤,說明書所附,如果我再次按Tab鍵,字符^我追加,我想要的是手動更改爲另一個foldmethod選項,如語法,縮進等。

沒有人知道這是可能的,或者如果有任何插件可以做到這一點?

謝謝!

回答

2

如您所說,當您在:set fdm=之後按<Tab>時,您會插入manual

這看起來似乎是我們在許多地方習以爲常的自動完成行爲,manual只是第一個可能的值。所以,你期望重複<Tab>會給你更多的可能性。

但事實並非如此。在這種情況下按<Tab>時得到的結果是不是第一個自動補全選項,而是當前選項值。所以,你得到manual,因爲這實際上是該選項的默認值。按字面順序插入<Tab>即可,因爲此行爲僅在=之後發生。

從Vim的幫助:

The old value of an option can be obtained by hitting 'wildchar' just after 
the '='. For example, typing 'wildchar' after ":set dir=" will insert the 
current value of 'dir'. This overrules file name completion for the options 
that take a file name. 

所以,你所描述的是預期的行爲。整個故事見:help cmdline-completion

我不知道任何插件能夠改變這個到你想要的。