`

vim 各种插件安装

 
阅读更多
 vim 各种插件安装
2012-03-30 19:33:30
标签:职场 休闲 vim IDE

京鱼网www.jingfish.com

 

   将Vim改造为强大的IDE—Vim集成Ctags/Taglist/Cscope/Winmanager/NERDTree/OmniCppComplete(有图有真相)        

 

    工欲善其事,必先利其器。一个强大的开发环境可以大大提高工作效率。好吧,我知道这是废话。。。不过,我想一定有很多跟我一样打算进入Linux平台开发 的新手,一开始都为找不到一个像Windows下的VS那样可以一键安装并且功能几乎完美无缺的开发工具而郁闷不已,甚至打算收回刚刚迈出的脚步。所幸的 是,通过几天努力,我总算配置出了一个功能完备的基于Vim的开发环境。这个开发环境除了基本的Vim外,还包括 Ctags,Taglist,Cscope,SuperTab,OmniCppComplete,Winmanager,NERDTree和 MiniBufExplorer等组件。

   在开始操作前,先普及下基础概念,然后约定一下表达规范。

   1)Vim存在多个配置文件vimrc,比如/etc/vimrc,此文件影响整个系统的Vim。还有~/.vimrc,此文件只影响本用户的Vim。而且~/.vimrc文件中的配置会覆盖/etc/vimrc中的配置。这里我们只修改~/.vimrc文件。

   2)Vim的插件(plugin)安装在Vim的runtimepath目录下,你可以在Vim命令行下运行"set rtp“命令查看。这里我们选择安装在~/.vim目录,没有就创建一个。

   3)当本文说”在Vim命令行下运行cmdxx命令“时,意思是指在Vim的命令行模式下运行cmdxx命令,即在Vim的正常模式下通过输入冒号":"进入命令行模式,然后紧接着输入命令cmdxx。在后文描述中都会省略冒号":"输入。

   4)如果没有说明“在Vim命令行下运行某命令”,则是在shell中执行该命令。

   5)如果命令中间被空白符间隔或有与正文容易混淆的字符,我会用双引号将命令与正文区分。所以读者在实际操作时,不要输入命令最前面和最后面引号。

   6)本文关于组合快捷键的描述,形如a-b形式的快捷键表示同时按下a键和b键,而形如"a-b c"形式的快捷键,则表示先同时按下a键和b键,然后放开ab键,再按下c键。

 

   1,安装使用Ctags

        Ctags工具是用来遍历源代码文件生成tags文件,这些tags文件能被编辑器或其它工具用来快速查找定位源代码中的符号(tag/symbol), 如变量名,函数名等。比如,tags文件就是Taglist和OmniCppComplete工作的基础。

 

      这里介绍从源代码包安装,安装步骤跟大多数软件的从源代码安装步骤一样。

       1)从http://ctags.sourceforge.net/下载源代码包后,解压缩生成源代码目录,

       2)然后进入源代码根目录执行./configure,

       3)然后执行make,

       4)编译成功后执行make install。

       5)在~/.vimrc中增加以下这行:

 
  1. map <C-F12> :!ctags -R --c++-kinds=+p --fields=+iaS --extra=+q .<CR>  

       到此,Ctags已安装成功。

 

       使用Ctags的也很简单。 进入我们的项目代码根目录,执行以下命令:

 
  1. ctags -R --c++-kinds=+p --fields=+iaS --extra=+q .  

       另外,由于在前面第5条,我们已经在Vim中配置了Ctrl-F12组合快捷键,所以我们也可以进入代码根目录后,打开Vim,按下Ctrl-F12快捷键自动生成tags文件。

       命令执行完后,会在源代码目录生成tags文件。Vim默认会自动读取当前目录下的tags文件,所以不需要修改~/.vimrc文件。此时,我们已经具有定义跳转的功能了。有两组快捷键是最常用的。

              Ctrl-]    跳转到光标所在符号的定义。

              Ctrl-t    回到上次跳转前的位置。

       更多功能通过命令man ctags或在Vim命令行下运行help ctags查询。

 

   2,安装使用Taglist

       Taglist是vim的一个插件,提供源代码符号的结构化视图。

 

       1)从http://www.vim.org/scripts/script.php?script_id=273下载安装包,也可以从http://vim-taglist.sourceforge.net/index.html下载。

       2)进入~/.vim目录,将Taglist安装包解压,解压后会在~/.vim目录中生成几个新子目录,如plugin和doc(安装其它插件时,可能还会新建autoload等其它目录)。

       3)进入~/.vim/doc目录,在Vim下运行"helptags ."命令。此步骤是将doc下的帮助文档加入到Vim的帮助主题中,这样我们就可以通过在Vim中运行“help taglist.txt”查看taglist帮助。

       4)打开配置文件~/.vimrc,加入以下两行:

 
  1. let Tlist_Show_One_File=1  

  2. let Tlist_Exit_OnlyWindow=1  

       到此安装已经完成。

 

      在Vim命令行下运行TlistToggle命令就可以打开Taglist窗口,再次运行TlistToggle则关闭。示图如下:

       我们可以通过Ctrl-w快捷键或鼠标点击在Taglist窗口和编辑区之间切换焦点,在Taglist窗口用鼠标或键盘选择某个符号,然后点击或回车,就可以跳转到该符号定义的位置。

       更多功能可通过在Vim命令行下运行help taglist.txt查询。

 

   3,安装使用Cscope

       Cscope提供交互式查询语言符号功能,如查询哪些地方使用某个变量或调用某个函数。

 

       Cscope已经是Vim的标准特性,默认都有支持,官方网址为http://cscope.sourceforge.net/

       1)在Vim下运行version查看Vim支持哪些特性,前面有前缀符号+的为支持。如果支持Cscope,则直接进入2),否则下载Cscope源代码包编译安装。步骤同Ctags安装。

       2)确定Vim已支持Cscope后,将文件http://cscope.sourceforge.net/cscope_maps.vim下载到~/.vim/plugin目录。

 

       到这里,我们就可以开始使用Cscope了。

      1)使用Cscope需要生成cscope数据库文件。进入项目代码根目录运行命令:

 
  1. cscope -Rbq -f path/xxx.out  

           命令运行后会生成xxx.out文件,即cscope数据库文件。更多用法参考man cscope文档。

      2)进入项目代码根目录,在Vim下运行命令:

 
  1. cs add path/xxx.out  

          此命令将cscope数据库载入Vim。

      3)Cscope常用快捷键

          Ctrl-\ s 查找所有当前光标所在符号出现过位置。
          Ctrl-\ c 查找所有调用当前光标所在函数的函数。

       按下快捷键查找结束后会在编辑区下方出现查找结果的列表,输入结果编号并回车,就能跳转到该查找结果在源代码中的相应位置。例如,我们将光标移到 initial_pool_size变量定义的位置,即17行,然后按下"Ctrl-\ s"组合快捷键,得到示图如下:

           然后我们输入2,并回车,就能跳转到第2个查找结果。        

          为了界面更好看,可以把Cscope的查找结果输出到quickfix窗口,需要在~/.vimrc中加入下面这行:

 
  1. set cscopequickfix=s-,c-,d-,i-,t-,e-  

             这样,通过快捷键查找某个符号后,会立即跳转到第一个找到的该符号出现的位置。如果你对这次默认跳转的位置不满意,在Vim命令行下运行cw命令,就能在 编辑区下面quickfix窗口看到所有查找结果的列表,点击相应列表项就能跳转到相应位置。这个功能已经跟VS很接近了吧:)

       更多功能可通过命令man cscope或在Vim命令行下运行help cscope查询。

 

   4,安装使用OmniCppComplete

       OmniCppComplete主要提供输入时实时提供类或结构体的属性或方法的提示和补全。跟Talist一样,OmniCppComplete也是一个Vim插件,同样依赖与Ctags工具生成的tags文件。安装步骤跟Taglist类似。

 

       从http://www.vim.org/scripts/script.php?script_id=1520下载安装包后。

      1)进入~/.vim目录,将安装版解压缩

      2)进入~/.vim/doc目录,在Vim命令行下运行"helptags .”

      3)在~/.vimrc中加入以下几行:

 
  1. set nocp  

  2. filetype plugin on  

 

      OmniCppComplete的使用几乎跟VS下的VA一样。如下图所示,输入m0.之后立即弹出my_class类中所有的函数列表,然后用上下键选择合适的函数。

更多功能通过在Vim命令行下运行"help omnicppcomplete"查询。

 

   5,安装使用SuperTab

       SuperTab使Tab快捷键具有更快捷的上下文提示功能。跟OmniCppComplete一样,SuperTab也是一个Vim插件。

 

       从http://www.vim.org/scripts/script.php?script_id=1643下载安装版。这个安装包跟先前的几个Vim插件不同,它是一个vba文件,即Vimball格式的安装包,这种格式安装包提供傻瓜式的安装插件的方法。

      1)用Vim打开.vba安装包文件。

      2)在Vim命令行下运行命令“UseVimball  ~/.vim”。此命令将安装包解压缩到~/.vim目录。VImball安装方式的便利之处在于你可以在任何目录打开.vba包安装,而不用切换到安装 目的地目录。而且不用运行helptags命令安装帮助文档。

      3)在~/.vimrc文件中加入以下这行:

 
  1. let g:SuperTabDefaultCompletionType="context"  

 

      SuperTab使用很简单,只要在输入变量名或路径名等符号中途按Tab键,就能得到以前输入过的符号列表,并通过Tab键循环选择。

 

   6,安装使用Winmanager,NERDTree和MiniBufExplorer

        前面介绍的几个工具和插件,主要提供快捷的编辑功能,如定义跳转,符号查询,符号提示与补全等。这里的三个插件,主要优化布置VIm的界面。具体来 说,NERDTree提供树形浏览文件系统的界面,MiniBufExplorer提供多文件同时编辑功能,而Winmanager将这NERDTree 界面和Taglist界面整合起来,使Vim更像VS!

 

       分别从http://www.vim.org/scripts/script.php?script_id=1658

http://www.vim.org/scripts/script.php?script_id=159

http://www.vim.org/scripts/script.php?script_id=95

       下载NERDTree,MiniBufExplorer和Winmanager安装包(Winmanager还有个更新的vba版本http://www.vim.org/scripts/script.php?script_id=1440,这里选用旧版本的Winmanger)。

       1)像其它插件一样,将NERDTree安装包解压到~/.vim目录。并进入doc目录,在Vim命令行下运行"helptags ."命令。

       2)MiniBufExplorer只有一个.vim文件,将其拷贝到~/.vim/plugin目录。

       3)在~/.vimrc文件中加入以下几行:

 
  1. let g:miniBufExplMapWindowNavVim = 1  

  2. let g:miniBufExplMapWindowNavArrows = 1  

  3. let g:miniBufExplMapCTabSwitchBufs = 1  

  4. let g:miniBufExplModSelTarget = 1  

  5. let g:miniBufExplMoreThanOne=0  

       4)将Winmanager安装包解压到~/.vim目录。

       5)在~/.vimrc文件中加入以下几行:

  1. let g:NERDTree_title="[NERDTree]"  

  2. let g:winManagerWindowLayout="NERDTree|TagList"  

  3. function! NERDTree_Start()  

  4.    exec 'NERDTree'  

  5. endfunction  

  6. function! NERDTree_IsValid()  

  7.    return 1  

  8. endfunction  

  9. nmap wm :WMToggle<CR>  

        6)这个版本的Winmanager好像有个小bug,你在打开Winmanager界面时,会同时打开一个空的文件。这会影响后续使用,所以我们要在打 开Winmanager时关掉这个空文件。在~/.vim/plugin目录下的winmanager.vim文件中找到以下函数定义并在第5行下添加第 6行的内容:

  1. function! <SID>ToggleWindowsManager()  

  2.   if IsWinManagerVisible()  

  3.      call s:CloseWindowsManager()  

  4.   else  

  5.      call s:StartWindowsManager()  

  6.      exe 'q'  

  7.   end  

  8. endfunction  

       到这里,就大功告成了!        

 

       现在进入我们的项目目录,打开Vim,按下组合快捷键w-m就可以我们的崭新的Vim了!再次按下w-m就可关闭界面。示图如下:

       界面最上面的一条窄边就是MiniBufExplorer,可以看到我打开了两个文件cache.c和assoc.c,是不是很像VS的标签?

       紧靠MiniBufExplorer下方左边的矩形区域就是NERDTree。在这个窗口,我们可以用鼠标或键盘方便的浏览整个文件系统,在某个文件上点击或回车,就可以在右边编辑区域打开该文件。

       NERDTree下方的就是前面安装的Taglist界面。

 

  7,其它有用的~/.vimrc设置

       设置配色方案,我用的是eveing方案,配色方案保存在/usr/share/vim/vimXY/colors

  1. colo evening  

       显示行数

 

  1. set nu  

       与自动缩进相关的选项

 

  1. set autoindent  

  2. set tabstop=4  

  3. set shiftwidth=4  

  4. p;   set mouse=a  

分享到:
评论

相关推荐

    vim的插件安装,配置教程

    本教程将指导你如何安装并配置Vim插件,让你的Vim变得更为智能,提升编程效率。 首先,了解Vim插件的基础知识至关重要。Vim插件通常是一些脚本文件,它们扩展了Vim的功能,比如代码高亮、自动补全、文件浏览器、...

    vim-plugin插件

    Vim 插件系统是其灵活性的核心,允许用户通过安装各种插件来扩展编辑器的功能,以适应不同工作场景的需求。"vim-plugin插件" 涵盖了多种提升 Vim 使用体验的工具。 首先,`cscope-15.8b.tar.gz` 是 Cscope 的一个...

    vim配置插件-dierge

    vim配置插件

    vim插件ctags安装

    **vim插件ctags安装详解** vim作为一款强大的文本编辑器,因其高度可定制性和高效的操作方式深受程序员喜爱。在日常开发中,尤其对于大型项目,快速定位代码和跳转到函数定义是必不可少的功能。这就是ctags插件发挥...

    linux中vim编辑插件

    .vim目录下的文件会增强Vim的各种功能,如代码补全、语法高亮、文件浏览器等。在这个特定的压缩包中,可能包含了实现行号显示和空格高亮的插件文件。 总的来说,这个“linux中vim编辑插件”旨在提供一个更友好、更...

    vim集成各种插件

    在Ubuntu下安装Vim插件,通常我们需要一个插件管理器,例如`Vundle`或`NeoBundle`。这些管理器允许用户方便地安装、更新和管理插件。以`Vundle`为例,我们首先需要在终端中安装Git(如果尚未安装): ```bash sudo ...

    vim jeffy插件和配置

    linux下用vim编辑器配合jeffy插件实现比较顺手的编程环境。Jeffy插件和配置文件(.vim):代码...3,进入目录jeffy-vim-read运行安装脚本:#./install.sh 4,切换到自己的home目录#cd ~ 5,拷贝.vim配置文件到home目录 OK

    vim安装插件以及详细说明

    在安装Vim插件之前,首先需要一个插件管理器,如Vundle、Pathogen、NeoBundle或 dein.vim。这些工具可以帮助我们自动化地安装、更新和管理Vim插件。这里推荐使用dein.vim,因为它轻量级且易于配置。 1. 安装dein....

    vim-plug, 我的vim插件, 基于vim-plug安装.zip

    Vim-plug是一个轻量级且高效的 Vim 插件管理器,它允许用户方便地安装、更新和管理各种Vim插件。这个压缩包“vim-plug, 我的vim插件,基于vim-plug安装.zip”包含了Vim-plug的源代码,这将帮助你了解如何在你的Vim...

    vim常用插件集合

    2. **TagList**:基于ctags的Vim插件,它在侧边栏显示一个标签列表,方便用户浏览和跳转到代码结构中的各个元素。TagList支持多种编程语言,如C、C++、Java、Python等,使得代码阅读和理解更为便捷。 3. **...

    vim常用插件配置说明

    Vundle是Vim中最受欢迎的插件管理器之一,它允许用户轻松地安装、更新和管理Vim插件。要安装Vundle,首先需要在Vim的安装目录下的`~/.vim/bundle`路径下克隆Vundle的GitHub仓库: ``` git clone ...

    Vim常用插件和帮助文档

    通常,Vim插件通过包管理器安装和管理,如Vundle、Pathogen或NeoBundle。这些工具允许用户方便地安装、更新和管理插件。以Vundle为例,将插件添加到`.vimrc`后,运行`:PluginInstall`命令即可安装所有列出的插件。 ...

    vim插件-配合数字电路systemverilog编程时使用

    本篇文章将详细探讨“vim插件-配合数字电路systemverilog编程时使用”的相关知识点。 首先,了解SystemVerilog的基本语法至关重要。SystemVerilog扩展了传统的Verilog,增加了类、包、接口、非阻塞赋值等高级特性,...

    vim配置+各种插件

    本主题将详细探讨 Vim 的配置以及各种插件的使用,帮助你充分利用这款工具,提升编程效率。 ### Vim配置 1. **基本配置**:Vim 的配置主要通过修改 `~/.vimrc` 文件来实现。在这个文件中,你可以定义快捷键、设置...

    超全的vim插件配置一键式安装

    超全的vim插件配置一键式安装

    vim配置插件-第三个

    vim配置插件

    vim常用插件

    以上只是一部分常见的Vim插件,实际上,Vim社区提供了无数的插件以满足各种需求。安装和管理这些插件,可以使用如Vundle、Pathogen、NeoBundle或 dein.vim等插件管理工具。根据个人的开发习惯和工作需求,选择合适的...

    VimPlugin插件

    通常,Vim插件存储在`~/.vim/bundle`(Unix系统)或`%USERPROFILE%\vimfiles\bundle`(Windows系统)下。如果你尚未创建这个目录,需要先手动创建。 2. 安装插件:将解压后的文件夹移动或复制到`bundle`目录下。这...

    eclipse的vim插件

    1. 在Eclipse中安装Vim插件通常有两种方式:通过Eclipse Marketplace或手动安装。在Marketplace中搜索“Vrapper”或“ViEmu”,然后按照提示进行安装。如果Marketplace不可用,可以从官方网站下载插件的`.jar`文件,...

    vim color 插件

    此外,还有一些插件可以帮助管理和预览颜色方案,如`colorschemetest.vim`,它可以快速在所有已安装的配色方案间切换,方便比较选择。另一个是`Vim-Color-Scheme-Explorer`,它提供了一个交互式的界面来浏览和选择...

Global site tag (gtag.js) - Google Analytics