Vim omni完成:继续键入以选择所需的项目

时间:2011-01-25 23:57:42

标签: vim omnicomplete

在键入时考虑场景:

file.f

当我键入 Ctrl-X Ctrl-O 时,会显示omni-completion弹出窗口并选择第一个项目。这就是我所看到的:

file.fileno
       ---------
       fileno()  <-- highlighted
       flush()
       ---------

请注意,我输入的文本(“file.f”)已更改为:

file.fileno

我可以将列表中的选项向下移动到'flush',按ENTER键,它最终会以

结束
f.flush()

但我想继续输入所需的方法名称,而不是使用箭头键。即我想键入“file.f”,“Ctrl-X Ctrl-O”,“l”并获取

file.fileno
       ---------
       flush()
       ---------

file.fileno
       ---------
       fileno()
       flush()  <-- highlighted
       ---------

这可能吗?也许必须更改一些全向完成设置,或者我应该使用不同的键组合而不是 Ctrl-X Ctrl-O

1 个答案:

答案 0 :(得分:14)

添加: set completeopt+=longest 到你的.vimrc文件。

这将告诉omnicomplete仅插入所有匹配项的最长公共文本。

有关更多信息,请在vim中运行命令:help completeopt