Pre: 我已经在VIM工作了一年了.很多很棒的东西:组合,脚本.每当我在不同的编辑器中编辑某些内容时,如果没有VIM的导航,我会感到迟钝/不舒服.
问题: 最让我困扰的是使用现有工具(ctags,cscope)的源代码导航.通常,ctags找不到变量的声明,cscope而不是ctags查找具有相同变量名的所有定义.与调用树导航相同的疯狂,查找前向声明以及单个类定义等.与Eclipse中的MS Intellisense,Visual Assist甚至源代码导航相比,Exuberant Tags/cscope似乎已被弃用至少10年.
我知道有像ViEMU这样的工具,但它们并没有真正解决问题,因为你失去了很多VIM的功能.
问题: 我想知道是否有一个工具可以更好地解析源代码,或者有一些方法可以将源解析引擎(如Intellisense)集成到VIM中?也许有商业解决方案或有人准备实施一个?
与Visual Assist相比,VIM的所有好处似乎比导航到类定义时浪费的时间更少,而Visual Assist则通过单个Alt-G快捷方式完成.
您可以尝试使用eclim,这是一种在Vim中使用某些Eclipse功能的方法.
对于C/C++,它提供:
:CSearchContext):CCallHierarchy):Validate)它不是很好,但在某些情况下可以提供帮助.
关于自动代码完成,我主要使用OmniCppComplete,它使用标签来提供上下文感知代码完成.这并不坏.
根据Luc Hermitte的建议,您也可以使用clang_complete,它不需要ctags,但需要安装clang.