【问题标题】:Auto code completion in VIM?VIM中的自动代码完成?
【发布时间】:2011-01-06 05:09:54
【问题描述】:

VIM 可以像 Eclipse 那样自动完成代码吗?通常我从我的 Windows 笔记本电脑通过 Putty 连接到我的 Linux 开发服务器。所以,我希望我能找到一个VIM插件,当我可以在Putty中输入变量名时,它可以做下拉菜单,比如自动完成,这可能吗?

谢谢!

【问题讨论】:

    标签: linux vim code-completion


    【解决方案1】:

    是的,从某种意义上说——Vim 有Completion 命令可以帮助你自动找到部分变量名的补全文本。

    简而言之,键入部分变量名称,然后按 CtrlP 搜索匹配的名称。

    【讨论】:

    • 有什么办法不仅可以自动完成变量名,还可以自动完成结构/类的成员和方法?
    • Ctrl-P Ctrl-N 和另一个我忘记了..(你是怎么得到这个 C-p 渲染的?)
    【解决方案2】:

    是的,这是可能的。 Vim 已经以 Omni 补全的名义内置了这种通用的代码补全风格。

    默认安装不允许自动调用,但如果您安装this script,则允许自动调用。

    请注意,根据您将使用的语言,您可能需要额外的脚本来处理该语言的自动补全,甚至可能需要更改自动调用脚本以识别何时调用补全。由于您没有说您要使用哪种编程语言,因此很难说您是否需要更多,但我建议您查看帮助文件。

    【讨论】:

    • 是的,这正是我所需要的。但是,我想自动补全可以补全C/C++结构/类的成员和方法,我该如何实现呢?
    【解决方案3】:

    尝试使用http://eclim.org/ - 通过插件使用带有 VIM 的 eclipse 核心。

    要不启动完整的 ecplise 核心但具有 C/C++ 成员完成,请尝试 http://www.vim.org/scripts/script.php?script_id=1520

    -   Complete namespaces, classes, structs and union members. 
    -   Complete inherited members for classes and structs
    (single and multiple inheritance). 
    -   Complete attribute members eg: myObject->_child->_child etc...
    

    【讨论】:

      【解决方案4】:

      目前 vim 没有 plugins 用于自动代码完成功能,我正在使用 youcompleteme 插件,结合 vim-snippetsultisnipssupertab 插件。您可以使用 sn-ps(可以扩展为完整代码的小文本)来完成代码,并且支持大量语言。

      对于简单的文本文件,您之前输入的单词也会出现一个下拉菜单。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2011-06-16
        • 2012-05-18
        • 2023-03-30
        • 2012-06-11
        • 1970-01-01
        • 1970-01-01
        • 2011-07-22
        • 2011-10-22
        相关资源
        最近更新 更多