vim插件使用
1 ctags
下载Ctags源代码,解压,用make命令安装。
然后去你的源码目录,如果你的源码是多层的目录, 就去最上层的目录, 在该目录下运行命令: ctags –R,会产生一个名叫tags文件,将该文件拷贝到$HOME/.vim/tags目录下。
在vim中运行命令“:set tags=$HOME/.vim/tags/tags”,也可以将这个命令放在$HOME/.vimrc文件中。当要查询某个函数的定义时,将光标放在该函数上,按<C-]>键,就会跳转到该函数的定义处,按<C-t>键是返回。
不过还有一个小瑕疵, 你修改程序后, 比如增加了函数定义, 删除了变量定义, tags文件不能自动rebuild, 你必须手动再运行一下命令:ctags –R。
2 TagList 插件
高效地浏览源码, 其功能就像vc中的workpace, 那里面列出了当前文件中的所有宏、全局变量, 函数名等.
下载地址:http://www.vim.org/scripts/script.php?script_id=273
下载taglist压缩包, 然后把解压的两个文件taglist.vim 和 taglist.txt 分别放到$HOME/.vim/plugin 和 $HOME/.vim/doc 目录中。
首先在$HOME/.vimrc中加入下面两句话:
let Tlist_Show_One_File=1
let Tlist_Exit_OnlyWindow=1
进入vim后用Tlist命令打开taglist窗口。
3 WinManager 插件
管理各个窗口, 或者说整合各个窗口。
下载地址:http://www.vim.org/scripts/script.php?script_id=95
下载WinManager.zip压缩包, 解压后把*.vim文件放到 $HOME/.vim/plugin目录中,把*.txt文件放到 $HOME/.vim/doc目录中。
下面的一些命令来进行常用的目录和文件操作:
<F1> |
显示帮助 |
<cr> |
如果光标下是目录, 则进入该目录; 如果光标下文件, 则打开该文件 |
- |
返回上级目录 |
c |
切换vim 当前工作目录正在浏览的目录 |
d |
创建目录 |
D |
删除目录或文件 |
i |
切换显示方式 |
R |
文件或目录重命名 |
s |
选择排序方式 |
x |
定制浏览方式, 使用你指定的程序打开该文件: |
现在在你的~/.vimrc中增加下面几句:
let g:winManagerWindowLayout = "BufExplorer|FileExplorer|TagList"
let g:winManagerWidth = 30
nmap <C-W><C-F> :FirstExplorerWindow<cr>
nmap <C-W><C-B> :BottomExplorerWindow<cr>
nmap <silent> <leader>wm :WMToggle<cr>
在vim中按\wm就会弹出winManager窗口来,再按\wm就会退出。
4 QuickFix 窗口
输出一些供选择的结果, 可以被很多命令调用, 更详细的介绍和使用方法请用下面的命令打开QuickFix的手册来学习吧:help quickfix。
写好一个由错误的c程序,用vim打开该c程序,并输入:make命令,可以通过命令:cw来调出编译器报的出错信息,并可以根据出错信息调到出错的位置。命令:cn和:cp分别切换到上一个结果和下一个结果。
5 MiniBufExplorer
快速浏览和操作Buffer
下载地址:http://www.vim.org/scripts/script.php?script_id=159,将下载的 minibufexpl.vim文件丢到$HOME/.vim/plugin文件夹中即可。
用vim打开多个文件时,vim最上方会出现一个MiniBufExplorer窗口,其中列出了当前所有已经打开的buffer,当你把光标置于这个窗口时, 有下面几个快捷键可以用:
<Tab> |
向前循环切换到每个buffer名上 |
<S-Tab> |
向后循环切换到每个buffer名上 |
<Enter> |
在打开光标所在的buffer |
d |
删除光标所在的buffer |
6 A插件
将.h文件与.c文件来回切换。
下载地址:http://www.vim.org/scripts/script.php?script_id=31,将下载的a.vim放置$HOME/.vim/plugin中。
安装好a.vim后有下面的几个命令可以用了:
:A |
在新Buffer中切换到c/h文件 |
:AS |
横向分割窗口并打开c/h文件 |
:AV |
纵向分割窗口并打开c/h文件 |
:AT |
新建一个标签页并打开c/h文件 |
7 new-omni-completion(全能补全)
该功能vim自带的,可以输命令:help new-omni-completion查看,不过还要有tags功能的支持。
需在$HOME/.vimrc中增加下面两句:
filetype plugin indent on
set completeopt=longest,menu
tags的用法与上面的tags用法相同。
一些快捷键:
Ctrl+P |
向前切换成员 |
Ctrl+N |
向后切换成员 |
Ctrl+E |
表示退出下拉窗口, 并退回到原来录入的文字 |
Ctrl+Y |
表示退出下拉窗口, 并接受当前选项 |
如果你增加了一些成员变量, 全能补全还不能马上将新成员补全, 需要你重新生成一下tags文件, 但是你不用重启vim, 只是重新生成一下tags文件就行了, 这时全能补全已经可以自动补全了, 还真够"全能"吧.
vim中的其他补全方式还有:
Ctrl+X Ctrl+L |
整行补全 |
Ctrl+X Ctrl+N |
根据当前文件里关键字补全 |
Ctrl+X Ctrl+K |
根据字典补全 |
Ctrl+X Ctrl+T |
根据同义词字典补全 |
Ctrl+X Ctrl+I |
根据头文件内关键字补全 |
Ctrl+X Ctrl+] |
根据标签补全 |
Ctrl+X Ctrl+F |
补全文件名 |
Ctrl+X Ctrl+D |
补全宏定义 |
Ctrl+X Ctrl+V |
补全vim命令 |
Ctrl+X Ctrl+U |
用户自定义补全方式 |
Ctrl+X Ctrl+S |
拼写建议 |
8 自动补全插件-NeoComplCache
下载地址:http://www.vim.org/scripts/script.php?script_id=2620
是解压后文件夹里面的文件,好像是四个,autoload、doc、plugin、README.MD,直接放到.vim里。
在~/.vimrc文件里加入自动启动的命令: let g:neocomplcache_enable_at_startup = 1。
9 c插件
作为一个程序员,在编码时你常常有如下的重复操作:
1. 给文件或者函数说明
2. 给函数添加注释,或者添加一个注释快
3. 添加一段已有代码 (:r !cat filename)
4. 检查代码语法
5. 读函数的帮助文档
6. 注释掉一块代码,将"//"转换为/* */
C.vim即C-Support vim,能够帮助C程序员[当然还有使用C++ 的家伙]很好的完成上述工作,为你节约时间,并保护你的键盘。插件作者Fritz Mehner,编写c.vim的宗旨是“Write and run programs. Insert statements, idioms, comments”。
下载地址:http://www.vim.org/scripts/download_script.php?src_id=9679,解压,有c-support、ftplugin、doc、plugin四个文件,拷贝到$HOME/.vim/目录下。并用命令filetype plugin on激活插件功能。
功能一:自动为*.c文件添加文件头说明
当你打开一个扩展名为.c的文件,在文件开始处会自动加上如下的描述,并且将光标定位到description处,此时是insert mode可直接键入文件描述。
当然你可以改变AUTHOR COMPANY等得默认值,修改稿c-support/templates/Templates中的:
|AUTHOR| = geekstuff
|AUTHORREF| = gk
|EMAIL| = subscribe@geekstuff
|COMPANY| = thegeekstuff.com
功能二:插入一个函数\if
当需要创建一个新函数时,只要在正常模式(ESC)键入\if,VIM会提示键入函数名,会得到默认函数内容。
功能三:插入main函数\im
与功能二类似,在正常模式下键入\im, 得到默认的main函数内容。
功能五: 添加一个注释块 \cfr
添加一个注释块,在正常模式下键入\cfr,会得到一个注释块,并且光标被定位到注释块内,直接可键入注释。
功能六:包含(include)一个头文件 \p<
在正常模式下键入\p<, 会得到“#include <>”,并且光标被定位到尖括号内,可以直接键入要包含的头文件名
功能七: 保存文件,编译后立即执行
保存后编译\rc,运行\\r
功能八:插入预先编辑好的程序块\nr
在安装插件时,插件自带了一些编译好的代码,你可以把这些代码插入你的程序中。
在c-support/codesnippets文件中
Makefile calloc_double_matrix.c main.c print_double_array.c.noindent
Makefile.multi-target.template calloc_int_matrix.c main.cc print_int_array.c.noindent
你也可以自己编写一些常用模板代码放在c-support/codesnippets/。当然在你读代码的时候也可以保存某些代码片段。方法:选中想要保存的代码片段,键入\nw,给它取一个名字。下次你就可以用过\nr使用这段代码了。
10 bufexplorer插件
下载地址:http://www.vim.org/scripts/script.php?script_id=42,将bufexplorer.vim放入$HOME/.vim/plugin目录下。
打开vim,输入\be在当前窗口浏览缓存,\bs水平打开一个窗口浏览缓存,\bv垂直打开一个窗口浏览缓存。
11 查看插件自带的文档
把插件自带的文档放入$HOME/.vim/doc目录下
进入vim,输入命令:helptags $HOME/.vim/doc,vim就会自动读取$HOME/.vim/doc目录下的文档,输入:help local-additions即可跳转到$HOME/.vim/doc中的所有文档列表处,用<C]>选择要看的文档即可。
12 参考
http://blog.csdn.net/guolb57/article/details/7013076
http://www.cnblogs.com/windowswind/archive/2012/03/22/2450079.html
http://blog.csdn.net/tge7618291/article/details/4216977