如何将一个Vim配置成C/C++兼Erlang开发环境

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 安装完成。

相关文章
相关标签/搜索