如何在vim命令模式下自动完成选项

时间:2013-08-21 08:45:45

标签: vim vim-plugin

我的命令模式完成设置是:

set wildmenu
set wildmode=longest,list,full

目前我输入

:set fdm=

在命令模式下,然后按Tab键,手动追加,如果我再次按Tab键,字符^我追加,我想要的是手动更改为另一种foldmethod选项,如语法,缩进等。

有没有人知道可能或者有插件可以做到吗?

谢谢!

1 个答案:

答案 0 :(得分:2)

正如您所说,当您在<Tab>之后按:set fdm=时,您会插入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

我不知道任何能够将其更改为您想要的插件。