用VIM插件project管理你的项目

2009年3月21日 | 分类: LINUX生活 | 标签: , , ,

在使用IDE的时候,我们可以很方便的管理项目里面的文件,而在Linux下面进行开发的时候,我们大多用make或者cmake来管理项目,但是当用VIM来进行操作的时候还是比较难的,在集成开发环境(IDE)里面,一般都会有项目的相关文件在窗体中列举出来。在VIM下,已经有人开发了方便管理项目的插件Project.

安装方法跟VIM的其他插件一样,下载project.tar.gz之后,解压到~/.vim下面,就可以启用了,在VIM下面开启该插件的命令是“:Project”,为了方便,你可以在vimrc里面定义一个快捷键映射到”:Project”,Project插件管理项目是通过一个用户自己定义的“项目文件”~/.vimprojects来组织项目的相关内容的。

引用帮助文档里面的一个例子来说明如何用~/.vimprojects来组织项目。

My Project=~/c/project CD=. {
      GUI Files=gui {
       gui_window.c
       gui_dialog.c
       gui_list.c
       gui.h
      }
      Database Files=data {
       data_read.c
       data_write.c
       data.h
      }
     }

My Project=~/c/project 表示项目名称以及项目根目录。
CD=. 表示打开该项目中的文件时,会自动在根目录基础上完成文件的路径,打开文件。
项目还可以有子项目,这个例子中的GUI Files就是子目录。

GUI Files=gui 表示GUI Files指向项目根目录下的子目录gui。

在VIM中打开Project之后,可以直接在项目上面按Enter键来折叠项目列表,相当方便,打开文件也是直接按Enter就行。

推荐两篇文章:

VIM-Project Plugin 该插件的中文文档

Vim 实用技术 很全面的VIM实用文章

  1. 2010年8月3日11:02

    不错,正好用到了。你这是最简洁的。

  2. 2010年8月3日11:09

    不过,有个问题,每个项目都要手动输入每个文件名,如果这个项目很大怎么办?

  3. 2010年8月3日11:34

    不需要输入每个文件用户名的,你可以定义一些过滤器,比如:

    GUI Files=gui filter=”*.c *.h” {
    gui_window.c
    gui_dialog.c
    gui_list.c
    gui.h
    }

    然后在表示文件夹的那一行敲一下命令 [LocalLeader] +r 就可以自动将该目录下面符合过滤器的所有文件列出来,如果有新的文件加入,也是在这里执行一下上面那个命令就行。

    [LocalLeader] +SHIFT+r 可以进行递归更新,也就是可以将子目录的文件也一起更新了

    具体在VIM下面”:help project”看一下帮助文档吧,具体可以看“project-mappings”

    其中 [LocalLeader] 在 VIM 里面默认是”\”
    你也可以自己定义一个,用 let maplocalleader=”"

注意: 评论者允许使用'@user空格'的方式将自己的评论通知另外评论者。例如, ABC是本文的评论者之一,则使用'@ABC '(不包括单引号)将会自动将您的评论发送给ABC。使用'@all ',将会将评论发送给之前所有其它评论者。请务必注意user必须和评论者名相匹配(大小写一致)。