如何在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) (括号表示它的匹配)。 它可以非常容易地选出仅由其文件夹名称唯一的文件。

    链接地址: http://www.djcxy.com/p/78009.html

    上一篇: How to navigate in large project in VIM

    下一篇: Recursively find files with a specific extension