1.首先介绍下c.vim,为何要装c.vimphp
C.vim即C-Support vim,可以帮助C程序员[固然还有使用C++ 的家伙]很好的完成给文件或者函数说明,给函数添加注释,或者添加一个注释块,添加函数等等,为你节约时间,并保护你的键盘。插件做者Fritz Mehner,编写c.vim的宗旨是“Write and run programs. Insert statements, idioms, comments”.c++
c.vim 就是c/c++编程的一个IDE,其功能堪比windows里面的vc,不只可让你编写代码更加快捷,并且还能够编译程序 程序员
2.安装c.vim插件编程
第一步:下载C.VIMvim
Vim的官网 下载c.vim 注:我下载的事
第二步 下载好了以后,解压安装windows
#mkdir ~/.vim //注:全部的插件都要装在这儿 #cp /mnt/feichanghao/vimm/cvim.zip ~/.vim //把插件移动到目标目录中 #cd ~/.vim #unzip cvim.zip
注:解压的时候会生成一些目录,须要注意一下,由于之后要用编辑器
syntax,plugin,ftplugn,doc,c-support,autoloadide
plugin.:这个文件夹里面放着文件类型插件,后面的a.vim插件直接放在这个目录就行函数
doc: 这个目录存放的是帮助文档工具
第三步 激活插件功能,须要配置.vimrc
#cd ~/.vimrc filetype plugn on //这表示开启加载文件类型插件,而咱们的C.vim就是文件类型插件
OK,这样c.vim插件就装好了,就可使用了。
3.使用c.vim的强大功能,只介绍一部分,其他的查看帮助文档便可
功能1:自动为*.c文件添加文件头说明
当你打开一个扩展名为.c的文件,在文件开始处会自动加上以下的描述,而且将光标定位到description处,此时是insert mode可直接键入文件描述
vim 6.cpp会出现以下界面
固然你能够改变AUTHOR COMPANY等得默认值。
vim ~/.vim/c-support/templates/Templates
如今再建立一个.c 文件,你会看到以下的文件头。
功能二:插入main函数 \im,在正常模式下键入\im
功能三:F9编译,链接
vim由一个程序员开发,并且为更多的程序员所使用,因此在vim中增强了对软件开发的支持,quickfix模式的引入就是一个例子。所谓quickfix模式,它和Normal模式、Insert模式没什么关系,它只是一种加快你开发速度的工做方式。
Quickfix模式的主要思想是保存一个位置列表,而后提供一系列命令,实如今这个位置列表中跳转。
位置列表的产生能够从编译器的编译输出信息中得到.
:cp 跳到上一个错误 ( :help :cp ) :cn 跳到下一个错误 ( :help :cn )
还有不少不少的功能就不在此列举了,可查看帮助文档
直接在vim编辑器中输入\hp 就能够查看还有哪些帮助命令了。
4.介绍下ctags插件,为何要装ctags
为源码的变量/对象、结构体/类、函数/接口、宏等产生索引文件,以便快速定位。目前支持41种语言,这里仅以C/C++为例:ctags能够产生c/c++语言全部类型的索引文件,也能够为Erlang语言产生索引文件,tags文件就是Taglist和OmniCppComplete工做的基础。
Tag文件(索引文件)无疑是开发人员的利器之一,有了tag文件的协助,你能够在vim查看函数调用关系,类、结构、宏等的定义,能够在任意标签中跳转、返回……相信使用过Source Insight的人对这些功能并不陌生,而在vim中,此功能的实现依赖于tag文件。一般咱们使用名为ctags的程序来生成这样的tag文件。
5.安装ctags插件
第一步:下载ctags
Vim的官网 // 注我下载的是ctags-5.8.tar.gz
第二步 下载好了以后,解压安装
#cd ~/.vim //注:全部的插件都要装在这儿 #cp /mnt/feichanghao/vimm/ctags-5.8.tar.gz . //把插件移动到目标目录中 #unzip ctags-5.8.tar.gz -d ctags-5.8 //把压缩文件解压到ctags-5.8文件中 #cd ctags-5.8 #make #make install
OK,这样ctags插件就装好了,就可使用了。
6.介绍下ctags插件的用法,固然也是部分功能,其他的看帮助文档就好了
首先介绍几个ctags的命令
1》生成tags文件的命令
ctags –R --languages=c++ /erlang
“-R”表示递归建立,也就包括源代码根目录(当前目录)下的全部子目录。“*”表示全部文件。这条命令会在当前目录下产生一个“tags”文件。
--langguages为何语言生成tags文件,
Tags文件中包括这些对象的列表:
1).用#define定义的宏
2).枚举型变量的值
3).函数的定义、原型和声明
4).名字空间(namespace)
5).类型定义(typedefs)
6).变量(包括定义和声明)
7).类(class)、结构(struct)、枚举类型(enum)和联合(union)
8).类、结构和联合中成员变量或函数
2》怎么用tags文件
运行vim的时候,必须在“tags”文件所在的目录下运行。不然,运行vim的时候还要用“:set tags=”命令设定“tags”文件的路径,这样vim才能找到“tags”文件。
在完成编码时,能够手工删掉tags文件。
用tags文件经常使用如下命令
a.咱们常常用到的tag跳转命令见下(通常只须要知道CTRL-]和CTRL-T就能够了):
:tag {ident} "跳转到指定的标签 :tags "显示标签栈 CTRL-] "跳转到当前光标下的标签 CTRL-T "跳到标签栈中较早的标签
b.若是这个变量或函数有多处定义,在VI命令行模式
“:ts”命令就能列出一个列表供用户选择。
“:tp”为上一个tag标记文件,
“:tn”为下一个tag标记文件。固然,若当前tags文件中用户所查找的变量或函数名只有一个,“:tp,:tn”命令不可用。
基本这些命令就足够知足咱们的须要了。
更多功能经过命令man ctags或在Vim命令行下运行:help ctags查询。
参考文献:
http://blog.csdn.net/duguteng/article/details/7412652
http://blog.csdn.net/zhangzhizhen1988/article/details/8373701
http://blog.csdn.net/g_brightboy/article/details/16830395
7.介绍下taglist插件,为何要装taglist
想必用过Source Insight的人都记得这样一个功能:SI可以把当前文件中的宏、全局变量、函数等tag显示在Symbol窗口,用鼠标点上述tag,就跳到该tag定义的位置;能够按字母序、该tag所属的类或scope,以及该tag在文件中出现的位置进行排序;若是切换到另一个文件,Symbol窗口更新显示这个文件中的tag。
在vim中的taglist插件所实现的就是上述相似的功能,有些功能比SI弱,有些功能比SI更强。并且,taglist插件还在不断完善中!
要使用taglist plugin,必须知足:
■打开vim的文件类型自动检测功能:filetype on
■系统中装了Exuberant ctags工具,而且taglist plugin可以找到此工具(由于taglist须要调用它来生成tag文件)
■你的vim支持system()调用
8.安装taglist插件
第一步:下载taglist
Vim的官网 下载c.vim 注:我下载的事
第二步 下载好了以后,解压安装
#cd ~/.vim //注:全部的插件都要装在这儿 #cp /mnt/feichanghao/vimm/taglist_46.zip . //把插件移动到目标目录中 #unzip taglist_46.zip
注:
plugin.:taglist.vim会被放到这个目录
doc: 这个目录存放的是帮助文档.taglist.txt会被放到这个目录
第三步 须要配置.vimrc
#cd ~/.vimrc let Tlist_Ctags_Cmd='/usr/local/bin/ctags' // 将taglist与ctags关联 let Tlist_Auto_Open = 1 //vim一打开就自动打开这个list框 let Tlist_Show_One_File=1 //每次只显示一个标签文件 let Tlist_Exit_OnlyWindow=1 //若是taglist窗口是最后一个窗口,则退出vim let Tlist_Use_Right_Window=1 //窗口显示在右边 set mouse=a “让鼠标在TilstOpen那个标签上点击的时候生效,就能够跳到对应的地方” let Tlist_Use_SingleClick=1 //鼠标在点击的tags标签时候就跳到对应的标签订义的地方
OK,这样taglist插件就装好了,就可使用了。
<CR> 跳到光标下tag所定义的位置,用鼠标双击此tag功能也同样 o 在一个新打开的窗口中显示光标下tag <Space> 显示光标下tag的原型定义 u 更新taglist窗口中的tag s 更改排序方式,在按名字排序和按出现顺序排序间切换 x taglist窗口放大和缩小,方便查看较长的tag + 打开一个折叠,同zo - 将tag折叠起来,同zc * 打开全部的折叠,同zR = 将全部tag折叠起来,同zM [[ 跳到前一个文件 ]] 跳到后一个文件 q 关闭taglist窗口 <F1> 显示帮助
功能可经过在Vim命令行下运行:help taglist.txt查询
9.安装OmniCppComplete插件,为何要装OmniCppComplete
是一个c++补全的插件,能够作以下补全
命名空间(namespace),类(class),结构(struct)和联合(union)补全
函数属性成员和返回值类型补全
"this"指针成员补全
C/C++类型转换(cast)对象补全
类型定义(typedef)和匿名类型(anonymous types)补全
一样依赖与Ctags工具生成的tags文件。安装步骤跟Taglist相似。
在此就不在写了,去官网:http://www.vim.org/scripts/script.php?script_id=1520
下载,而后安装步骤按照Taglist来安装就行。
一样也 须要配置.vimrc
#cd ~/.vimrc set nocp //不与vi兼容 set tags+=/c++tags/cpp //c++库生成的自动tags的索引文件,这样只要你编辑文件,的提示里面就自动有c++库里函数的提示 let OmniCpp_NamespaceSearch=1 //命名空间查找控制 0 : 禁止查找命名空间 1 : 查找当前文件缓冲区内的命名空间 2 : 查找当前文件缓冲区和包含文件中的命名空间 let OmniCpp_GlobalScopeSearch=1 //全局查找控制。0:禁止;1:容许 let OmniCpp_ShowAccess=1 // 是否显示访问控制信息('+', '-', '#')。0/1, 缺省为1(显示) let OmniCpp_MayCompleteArrow=1 //在"->"后是否自动运行omnicppcomplete给出提示信息。0/1 let OmniCpp_MayCompleteScope=1 //在域标识符"::"后是否自动运行omnicppcomplete给出提示信息。0/1 set completeopt=menu //菜单式的提示
OK,这样taglist插件就装好了,就可使用了。
此时有一些快捷键能够用:
Ctrl+P 向前切换成员
Ctrl+N 向后切换成员
Ctrl+E 表示退出下拉窗口, 并退回到原来录入的文字
Ctrl+Y 表示退出下拉窗口, 并接受当前选项 。
10.安装supertab插件,为何要装supertab
SuperTab使Tab快捷键具备更快捷的上下文提示功能,加速你的补全。
去官网http://www.vim.org/scripts/script.php?script_id=1643下载一个supertab.vim直接放在plugin目录中便可。
须要配置.vimrc
#cd ~/.vimrc let SuperTabRetainCompletionType=2
OK,这样taglist插件就装好了,就可使用了。
SuperTab使用很简单,只要在输入变量名或路径名等符号中途按Tab键,就能获得之前输入过的符号列表,并经过Tab键循环选择
11.安装a.vim插件
做为一个C程序员, 平常Coding时在源文件与头文件间进行切换是再日常不过的事了, 直接用vim打开其源/头文件其实也不是什么麻烦事, 可是只用一个按键就切换过来了, 这是多么贴心的功能啊
去官网http://www.vim.org/scripts/script.php?script_id=31 下载a.vim。
将a.vim 放到 ~/.vim/plugin 文件夹中便可。
安装好a.vim后有下面的几个命令能够用了:
:A 在新Buffer中切换到c/h文件
:AS 横向分割窗口并打开c/h文件
:AV 纵向分割窗口并打开c/h文件
:AT 新建一个标签页并打开c/h文件
至此,咱们的VIM IDE 安装完成。