简而言之,我正在为Vim编辑器寻找工作自动补全功能。我已经认为前, Vim完全取代了Linux下的IDE,虽然这当然是真的,但它缺乏一个重要的功能:自动补全。
我知道Ctrl+N, 蓬勃的Ctags整合, 标记列表, cppcomplete和OmniCppComplete。唉,这些都不符合我对“工作自动完成”的描述:
class
或while
, < kbd > Ctrl < / kbd > + < kbd > N < / kbd >工作得很好(只有)。哦。tags
文件再次需要手动更新。我知道,即使是现代的、成熟的ide也没有提供好的c++代码补全功能。这就是为什么直到现在我都接受了Vim在这方面的不足。但是我认为基本级别的代码完成要求并不过分,实际上是高效使用所必需的。所以我在寻找至少可以完成以下事情的东西。
variableName.abc
variableName->abc
typeName::abc
实际上,其他任何东西都是完全无用的
< >强可配置性> < /强。我需要指定源文件的位置,以及脚本从哪里获得自动完成信息。事实上,我的目录中有一个Makefile,它指定了所需的包含路径。Eclipse可以解释其中的信息,为什么不能用Vim脚本呢?
< >强现代化程度> < /强。只要我在我的文件中改变了一些东西,我希望自动完成能反映这一点。我做不想手动触发ctags
(或类似的东西)。此外,更改应该是incremental,即当我只更改了一个文件时,ctags
重新解析整个目录树(可能很大)完全是不可接受的。
我忘记什么了吗?请随时更新。
我对相当多的配置和/或修补工作都很熟悉,但我不想从头开始编写解决方案,而且我不擅长调试Vim脚本。
最后一点,我真的希望Java和c#也能有类似的东西,但我想这太不可能了:ctags
只解析代码文件,Java和c#都有巨大的、预编译的框架,需要被索引。不幸的是,没有IDE开发。net甚至比c++更像一个PITA。