用VIM插件project管理你的项目
在使用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实用文章

不错,正好用到了。你这是最简洁的。
不过,有个问题,每个项目都要手动输入每个文件名,如果这个项目很大怎么办?
不需要输入每个文件用户名的,你可以定义一些过滤器,比如:
然后在表示文件夹的那一行敲一下命令 [LocalLeader] +r 就可以自动将该目录下面符合过滤器的所有文件列出来,如果有新的文件加入,也是在这里执行一下上面那个命令就行。
[LocalLeader] +SHIFT+r 可以进行递归更新,也就是可以将子目录的文件也一起更新了
具体在VIM下面”:help project”看一下帮助文档吧,具体可以看“project-mappings”
其中 [LocalLeader] 在 VIM 里面默认是”\”
你也可以自己定义一个,用 let maplocalleader=”"