VIM中的自动代码补全?

12

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

谢谢!

4个回答

15

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

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


有没有办法自动完成不仅变量名称,还包括结构体/类的成员和方法? - Yang Bo
2
Ctrl-P Ctrl-N 还有一个我忘记了.. (你是如何在C-p上获得这个渲染效果的?) - Aif

3

是的,这是可能的。Vim已经内置了这种通用代码完成样式,称为Omni completion。

默认安装不允许自动调用,但如果您安装this script,它就可以自动调用。

请注意,根据您将要使用的语言,您可能需要其他脚本来处理该语言的自动完成,甚至可能需要更改自动调用脚本以识别何时调用完成。由于您没有说明要使用哪种编程语言,因此有点难以确定是否需要更多内容,但我建议查阅帮助文件。


是的,这正是我需要的。但是,我希望自动完成可以完成C/C++结构体/类的成员和方法,我该如何实现这一点? - Yang Bo

2
尝试使用http://eclim.org/ - 通过插件将Eclipse核心与VIM一起使用。如果不想启动完整的Eclipse核心,但需要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...

0

目前vim没有自动代码完成功能的插件,我正在使用youcompleteme插件,结合vim-snippetsultisnipssupertab插件。您可以使用片段(可展开为完整代码的小文本)进行制表符完成代码,并支持大量语言。

对于简单的文本文件,还会出现下拉菜单,显示您之前输入过的单词。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接