Vim中文件名的Bash式部分制表符完整


16

在Bash中,当有几个文件具有相同的前缀,并且我键入了一部分前缀和hit时Tab,它会完成通用前缀,并允许我继续键入以区分可能的结果。

在Vim中,当有几个文件具有相同的前缀并且我键入部分前缀并点击时Tab,它将完成整个第一个匹配项,然后让我在所有匹配项中进行选择。为了减少集合,我必须退格,直到到达公共部分的末尾,然后再键入一些然后Tab再次击中。

我经常有很多文件,这些文件的公共前缀很长,而我想要的文件不在第一个文件中(例如,项目文件的目录除其他外,还包含各种名称为的makefile Makefile.{whatever})。

我可以使Vim更像Bash一样来保存很多按键吗?

如果这也可以应用于其他补全(例如,所有具有相同前缀的枚举值),则将获得奖励

Answers:


16

您可以使用该wildmode选项进行控制。

如果使用:set wildmode=list:longest,则会得到类似于bash的行为。

我个人更喜欢使用:set wildmode=list:longest,full; 这将列出完成情况,但是在第二次 Tab按下时,您可以在条目之间Shift+Tab循环(反之亦然)。

这适用于Vim完成的所有补全。

看到: :help 'wildmode'


3
不插入模式完成!您需要completeopt
丰富

谢谢!wildmode和completeopt正是我想要的!
John O'M。
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.