Vim常用插件及其安装

        本文参考http://blog.csdn.net/wooin/archive/2007/10/31/1858917.aspx在此表示感谢。 


        首先在建立~/.vim,以后所有的插件都存放在此。在.vim下分别建立doc、syntax、plugin三个文件夹分别存放插件帮助文档、语法文件、插件。 

         1、ctags 
        软件功能:用于产生一个tags文件(代码索引文件),tags文件中记录的源文件的索引以帮助你快速得找到某个符号的定义。它支持相当多的语言,如C、C++、C#、Shell等等。后面所有的包括函数列表显示,变量定义跳转,自动补全等,都要依赖于它。 
        ctags的全名叫做“Exuberant Ctags”,可以从新立得里面找到。 
        可以通过在vim中输入 
        :!ctags -R 
        在当前路径下建立一个tags文件,然后就可以在vim中使用跳转功能了。其中的-R选项是递归搜索子目录下的相关符号。所谓跳转就是可以随时转到自己想要的函数、类型、结构体、类等等的定义处。比如光标处于任意位置时可以普通模式下输入 
        :ta func_name 
        就可以直接将光标定位到func_name函数处。当然,其他的命名也可以使用这种方法进行快速定位。另外就是可以在光标指向一个函数名时按下Ctrl+],马上跳转到这个函数的定义。在跳转到定义位置之后,可以按下Ctrl+o快速返回原来的编辑位置。 
        如果tags文件不再当前目录下则用 
        :set tags=filename  来指定。 
        PS:ctags是一个程序用于生成tags文件。tags文件是当前目录下所有源文件的标签链接文件。在一个没有ctags的vim中只是无法生成新的tags文件,但是已有的tags文件仍然可以使用。 

         2、taglist 
        下载地址: http://www.vim.org/scripts/script.php?script_id=273 
        在Vim的一个垂直或水平的分割窗口中显示一个文件中定义的tags(函数,类,结构,变量等)。 
        在.vimrc中加入如下设置: 
Java代码   收藏代码
  1. "不同时显示多个文件的tag,只显示当前文件的  
  2. let Tlist_Show_One_File=1  
  3. "如果taglist窗口是最后一个窗口,则退出vim  
  4. let Tlist_Exit_OnlyWindow=1  

        在vim中用如下命令打开taglist窗口 
Java代码   收藏代码
  1. :Tlist  

        将taglist帮助文件放在~/.vim/doc目录下,如果需要使用:help taglist.txt命令查看帮助文档,需要事先在vim中执行如下命令: 
Java代码   收藏代码
  1. :helptags ~/.vim/doc  

        使用:将光标移动到taglist窗口的tag上面,按回车即可跳转到此tag的定义处,如果只想查看此tag的完整名称表达,按空格。 

         3、WinManager 
        下载地址: http://www.vim.org/scripts/script.php?script_id=95 
        WinManager可以在vim中像taglist一样开一个窗口来浏览工程文件。其实vim自带了文件浏览的插件netrw.vim。只不过WinManager将taglist和netrw整合在了一起。在WinManager界面上可以用下面的一些命令来进行常用的目录和文件操作: 
<F1>显示帮助
<cr>如果光标下是目录, 则进入该目录; 如果光标下文件, 则打开该文件
-返回上级目录
c切换vim 当前工作目录正在浏览的目录
d创建目录
D删除目录或文件
i切换显示方式
R文件或目录重命名
s选择排序方式
x定制浏览方式, 使用你指定的程序打开该文件

        在.vimrc中加入如下配置: 
Java代码   收藏代码
  1. "设置WinManager与TagList的布局:前者在上,后者在下  
  2. let g:winManagerWindowLayout='FileExplorer|TagList'  
  3. "映射WinManager快捷键,在normal模式下按wm,控制开启和关闭  
  4. nmap wm :WMToggle<CR>  


         4、MiniBufExplorer 
        下载地址: http://www.vim.org/scripts/script.php?script_id=159 
        简单的说就是标签页文件。当vim打开单个文件的时候,MiniBufExplorer没什么作用。当打开两个以上的文件时,MiniBufExplorer会在vim的上面打开一个新的窗口空间,列出了已经打开的文件。把光标放到这个窗口上面时,可以有如下的几个命令使用: 
<Tab>向前循环切换到每个buffer名上
<S-Tab>向后循环切换到每个buffer名上
<Enter>在打开光标所在的buffer
d删除光标所在的buffer

        下面的两个功能需要在.vimrc中加入: 
Java代码   收藏代码
  1. let g:miniBufExplMapCTabSwitchBufs = 1  

<C-Tab>向前循环切换到每个buffer上,并在但前窗口打开
<C-S-Tab>向后循环切换到每个buffer上,并在但前窗口打开

        如果在.vimrc中设置了下面这句: 
Java代码   收藏代码
  1. let g:miniBufExplMapWindowNavVim=1  

则可以用<C-h,j,k,l>切换到上下左右的窗口中去,就像: 
C-w,h j k l    向"左,下,上,右"切换窗口. 
        在.vimrc中设置: 
Java代码   收藏代码
  1. let g:miniBufExplMapWindowNavArrows=1  

        是用<C-箭头键>切换到上下左右窗口中去. 
        主要命令: 
        :MiniBufExplorer    " Open and/or goto Explorer 
        :CMiniBufExplorer   " Close the Explorer if it's open 
        :UMiniBufExplorer   " Update Explorer without navigating 
        :TMiniBufExplorer   " Toggle the Explorer window open and closed. 

         5、在工程中查找——Grep 
        下载地址: http://www.vim.org/scripts/script.php?script_id=311 
        对光标所在的词来个全工程范围的grep。 
:Grep按照指定的规则在指定的文件中查找
:Rgrep同上, 但是是递归的grep
:GrepBuffer在所有打开的缓冲区中查找
:Bgrep同上
:GrepArgs在vim的argument filenames (:args)中查找
:Fgrep运行fgrep
:Rfgrep运行递归的fgrep
:Egrep运行egrep
:Regrep运行递归的egrep
:Agrep运行agrep
:Ragrep运行递归的agrep

        上面的命令是这样调用的: 
:Grep   [<grep_options>] [<search_pattern> [<file_name(s)>]]
:Rgrep  [<grep_options>] [<search_pattern> [<file_name(s)>]]
:Fgrep  [<grep_options>] [<search_pattern> [<file_name(s)>]]
:Rfgrep [<grep_options>] [<search_pattern> [<file_name(s)>]]
:Egrep  [<grep_options>] [<search_pattern> [<file_name(s)>]]
:Regrep [<grep_options>] [<search_pattern> [<file_name(s)>]]
:Agrep  [<grep_options>] [<search_pattern> [<file_name(s)>]]
:Ragrep [<grep_options>] [<search_pattern> [<file_name(s)>]]
:GrepBuffer [<grep_options>] [<search_pattern>]
:Bgrep [<grep_options>] [<search_pattern>]
:GrepArgs [<grep_options>] [<search_pattern>]

        为了简化操作,在.vimrc中加入如下配置: 
Java代码   收藏代码
  1. nnoremap <silent> <F3> :Rgrep<CR>  

        将光标移到需要查找的单词上面,按F3即可。比如查找ABC: 
        在最下面的命令行会显示: 
        Search for pattern: ABC 
        此时你还可以编辑该行, grep支持正则表达式。 
        按下回车后,在最下面的命令行会显示: 
        Search in files: * 
        是问搜索范围, 默认是该目录下的所有文件, 此时你还可以编辑该行, 比如你只想搜索源码文件: 
        Search in files: *.c *.h 
        然后在按下回车, 会在弹出的QuickFix窗口中列出所有符合条件的搜索结果, 你可以在其中查找你想要的结果。 

         6、NERD_commenter——添加注释 
        下载地址: http://www.vim.org/scripts/script.php?script_id=1218 
        <leader>cc 添加注释 
        <leader>cu 取消注释 

         7、Python代码折叠——python_ifold 
        下载地址: http://www.vim.org/scripts/script.php?script_id=2002 
        python_ifold是python_fold的改进版本。 
        可实现Python代码的折叠。打开Python脚本时会发现所有的代码已经折叠了,其中还现了折叠部分拥有的行数。在折叠的行按下zo可以打开折叠,按下zc会折叠上代码。python_ifold是默认启用的。 

         8、pydicton——python代码智能补全 
        下载地址: http://www.vim.org/scripts/script.php?script_id=850 
        pydiction-1.2中有四个文件,除了帮助文档和插件之外,还有两个分别是:complete-dict和pydiction.py。 
        其中complete-dict放在~/.vim/tools目录下。pydiction.py是可选文件,官网上的解释是: 
        Python script used to generate the dictionary. You can optionally run this script to add more modules to complete. 
        .vimrc中需要如下配置: 
Java代码   收藏代码
  1. autocmd FileType python set complete+=k~/.vim/tools/complete-dict  


         9、NERD_tree 
        下载地址: http://www.vim.org/scripts/script.php?script_id=1658 
        由于WinManager的fileexplorer功能不能自动更新,相比之下NERD_tree就强大许多了。 

         10、AutoComplPop——自动提示 
        下载地址: http://www.vim.org/scripts/script.php?script_id=1879 
        解压之后会有三个文件夹,全部放到.vim目录下。特别是别忘了autoload这个目录下的acp.vim也要放到.vim相应的autoload目录下。 

         11、vimIM——vim的中文输入插件 
        下载地址: http://vimim.googlecode.com/svn/vimim/vimim.html 
        ctrl+\ 直接在vim中切换输入法。也可以输入英文,然后ctrl+6,显示中文。 

         12、auto-pairs——括号自动配对 
        下载地址: https://github.com/jiangmiao/auto-pairs 

         13、xml编辑插件——标签自动配对 
        下载地址: http://www.vim.org/scripts/script.php?script_id=1397 
        也支持html、xhtml、docbk、xsl等。详见主页说明。
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值