vim常用插件及安装

来源:互联网 发布:西安白队长 知乎 编辑:程序博客网 时间:2024/04/29 02:44
首先在建立~/.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>在打开光标所在的bufferd删除光标所在的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等。详见主页说明。
1 0
原创粉丝点击