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

7

我的命令模式自动补全设置如下:

set wildmenu
set wildmode=longest,list,full

目前当我输入

:set fdm=

在命令模式下,按tab键后会出现manual,如果再次按tab键,则会出现^I。我想要将manual更改为其他的foldmethod选项,例如syntax、indent等等。有没有人知道是否可能实现或者是否有任何插件可以实现这个功能呢?

谢谢!

1个回答

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了解完整的故事。
我不知道任何能够改变你想要的东西的插件。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接