2

我读到 CTRL+P 是 VI 中的自动完成快捷方式,但自动完成给出的建议对我来说没有多大意义。

从 re 包中说有一个名为 findall 的方法。当我执行 CTRL+Space 时,Eclipse 可以推荐该方法:

在此处输入图像描述

但是当我在VI中尝试自动完成时,它找不到findall方法。唯一的建议似乎是我之前输入的命令,与 re 模块无关。

在此处输入图像描述

任何人都可以给我一些提示,VI 中 CTRL+P 背后的自动完成故事是什么,我该如何调整它,使其与 Eclipse 的自动完成一样好。

(每当我怀疑VI的力量时,真相总是是我缺乏发现VI之美的力量)

谢谢!

4

2 回答 2

3

In vim <C-p> is not the only completion shortcut available. Omni completion defined for python should be called with <C-x><C-o>, then use <C-n>/<C-p> to select variants. There are more completion types, all start with <C-x>, see :h ins-completion.

It is still better to use some third-party plugin (like jedi-vim or klen/python-mode) to get python completion as they are smarter. Note that at least klen/python-mode will not redefine <C-p>. They redefine <C-x><C-o> by setting 'omnifunc' option.

于 2013-09-14T18:47:45.303 回答
0

没有任何额外的模块,vim 的自动补全只搜索当前文件中你开始输入的字符串的出现,不管它是否有意义。如果您使用tags文件,通过ctags或其他方式,您可以在各种文件中使用字符串,而不仅仅是当前缓冲区。

于 2013-09-13T19:19:24.610 回答