如何在VIM的大型项目中导航
如何仅使用VIM管理大型项目(数百个文件)?
我个人开始在任何大于小型项目中遇到问题。
我知道所有的VIM基础知识,所以我没有问题用它来编写脚本或快速编辑一些源代码。 但是当我必须在文件之间导航时,对于我来说会变得非常麻烦。
VIM对标签有很好的支持。 一旦为项目创建了标签文件,您就可以跳转到方法,类等的定义或声明,包括在同一编辑会话中跳过文件。
尝试
:help tags
要为C / C ++生成标签文件,请转到您的shell提示符(我假设您的系统是* nix / Cygwin)并键入
info ctags
要么
ctags --help
我喜欢简单的解决方案,目前我最喜欢的导航方式是:
添加到~/.vimrc.local
set path=$PWD/**
然后在编辑器中键入以在当前工作目录(pwd)中的任意位置查找文件
:find user_spec.rb
你可以使用tab-completion来查找多个选项,这使得TextMate转换非常开心。
我使用NERDTree(目录边栏),FuzzyFinder Textmate(像TextMate的CMD + T这样的文件)和Sessions(:h会话)的组合来帮助我处理大型项目。
我会建议使用一些会话助手插件。 我会提到我使用的,但我还不满意。 只是谷歌“VIM会议”。
获得FuzzyFinder Textmate工作时需要注意的一点是,它依赖于旧版本的FuzzyFinder插件,特别是v2.16。 任何更高的,你会得到错误。 但这绝对是值得的麻烦。 虽然它没有名称完成,但是它的搜索很聪明,所以如果我搜索fro/time/actionsphp
它会提取文件apps/(fro)ntend/modules/(time)_tracking/actions/(actions).class.(php)
(括号表示它的匹配)。 它可以非常容易地选出仅由其文件夹名称唯一的文件。