11

当我输入时考虑一下场景:

file.f

当我键入Ctrl-XCtrl-O全方位完成弹出窗口时,会显示并选择第一个项目。这就是我所看到的:

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

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

file.fileno

我可以将列表中的选择向下移动到“刷新”,按 ENTER 键,它会以

f.flush()

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

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

或者

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

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

4

1 回答 1

15

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

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

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

于 2011-01-26T00:14:58.527 回答