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