【问题标题】:VI auto completion NonesenseVI 自动完成废话
【发布时间】:2013-09-18 12:55:22
【问题描述】:

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

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

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

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

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

谢谢!

【问题讨论】:

标签: python eclipse shell vim


【解决方案1】:

在 vim 中,<C-p> 不是唯一可用的完成快捷方式。为 python 定义的 Omni 补全应使用 <C-x><C-o> 调用,然后使用 <C-n>/<C-p> 选择变体。补全类型较多,均以<C-x>开头,见:h ins-completion

最好使用一些第三方插件(如 jedi-vim 或 klen/python-mode)来完成 python 完成,因为它们更智能。请注意,至少 klen/python-mode 不会重新定义 <C-p>。他们通过设置'omnifunc' option重新定义<C-x><C-o>

【讨论】:

    【解决方案2】:

    在没有任何附加模块的情况下,vim 的自动补全功能只会在当前文件中搜索您开始输入的字符串是否出现,而不管它是否有意义。如果您使用tags 文件、ctags 或其他文件,您可以在各种文件中使用字符串,而不仅仅是当前缓冲区。

    【讨论】:

    猜你喜欢
    • 2012-05-20
    • 1970-01-01
    • 2021-01-03
    • 2010-09-10
    • 2015-04-12
    • 2015-08-20
    • 1970-01-01
    • 2012-06-12
    • 2013-04-24
    相关资源
    最近更新 更多