按本文所述方法添加配置vim插件后,可在gvim中实现如下功能:
追踪对象定义 | CTRL+] |
跳回 | CTRL+T |
追踪对象调用 | CTRL+U |
在文件/工程中grep | F3 |
查看quickfix结果 | F6/F7 |
buffer间切换 | CTRL+TAB |
.c/.h对应文件打开 | F12 |
添加书签 | CTRL+F2 |
跳转至下一书签 | F2 |
代码补全 | TAB |
原型提示 | 左圆括号( |
代码折叠/展开 | ZA |
安装中文帮助手册
1.在此处下载中文帮助的文件包
2.解压并执行文件夹中的脚本
- ./vimdoc.sh -i
ctags
1.使用命令
- sudo apt-get install ctags #安装ctags
2.在工程目录下,使用命令
- ctags -R
3.在gvim下使用命令
- :set tags=[tags文件路径]
4.以后即可采用
- CTRL+]:跳转到定义
- CTRL+T:跳回
Tips:修改程序后, 比如增加了函数定义, 删除了变量定义, tags文件不能自动rebuild, 必须手动再运行一下命令
- ctags -R
taglist
1.在此处下载taglist包
2.解压后,将taglist.vim和taglist.txt分别放在~/.vim/plugin和~/.vim/doc下
3.在~/.vimrc中添加如下两行
- let Tlist_Show_One_File=1
- let Tlist_Exit_OnlyWindow=1
4.在gvim下使用命令
- :Tlist
winmanager
1.在此处下载winmanager包
2.解压,将.vim和.txt分别放在~/.vim/plugin和~/.vim/doc下
3.在~/.vimrc中添加如下两行
- let g:winManagerWindowLayout='FileExplorer|TagList'
- nmap wm :WMToggle<cr>
4.之后使用中,在normal模式(即刚进入gvim时的模式)输入wm,可同时开启taglist和winmanager
cscope
1.使用命令
- sudo apt-get install cscope #安装cscope
2.使用命令
- cscope -Rbq #建立cscope映射文件
3.进入gvim,使用命令
- :cs add [工程目录]/cscope.out [工程目录]
- :cs find c|d|e|f|g|i|s|t name
- g:查找本定义
- c:查找调用本函数的函数
- d:查找本函数调用的函数
5.使用命令
- :cw
6.在~/.vimrc文件中加如下三行
- nmap <C-U> :cs find s <C-R>=expand("<cword>")<CR><CR>
- nmap <F6> :cn<cr>
- nmap <F7> :cp<cr>
将查看quickfix结果快捷键映射为F6/F7
MiniBufExplorer
1.在此处下载插件,拷至~/.vim/plugin/下
2.在~/.vimrc中添加如下
- let g:miniBufExplMapCTabSwitchBufs = 1
A
1.在此处下载插件,拷至~/.vim/plugin/下
2.在~/.vimrc中添加一行
- nnoremap <silent> <F12> :A<CR>
grep
1.在此处下载插件,拷至~/.vim/plugin/下
2.在~/.vimrc中添加一行
- nnoremap <silent> <F3> :Grep<CR>
visualmark
1.在此处下载插件,拷至~/.vim/plugin/下
2.编辑~/.vim/plugin/visualmark.vim,找到包含"en_US"的一行,注释起来,并添加如下一行
- exec ":lan POSIX"
- if &bg == "dark" // 根据你的背景色风格来设置不同的书签颜色
- highlight SignColor ctermfg=white ctermbg=blue guifg=wheat guibg=peru
- else // 主要就是修改guibg的值来设置书签的颜色
- highlight SignColor ctermbg=white ctermfg=blue guibg=grey guifg=RoyalBlue3
- endif
自动补全
1.在~/.vimrc中添加如下两行
- filetype plugin indent on
- set completeopt=longest,menu
supertab
1.在此处下载插件
2.在~/.vimrc中添加如下几行
- let g:SuperTabRetainCompletionType=2
- let g:SuperTabDefaultCompletionType="<C-X><C-O>"
代码折叠
1.在~/.vimrc中添加两行
- set foldmethod=syntax
- set foldlevel=100 " 启动vim时不要自动折叠代码
echofunc
1.在此处下载插件
2.需要tag文件的支持,在创建tag文件时,需要加参数--fields=+lS,即整个命令如下
- ctags -R --fields=+lS
配置完成后
1.进入工程目录2.使用命令
- ctags -R --fields=+lS #生成ctags文件用于追踪对象定义
- :set tags=[tags文件路径] #关联ctags文件
- cscope -Rbq #生成cscope文件用于追踪对象引用
在normal模式下输入wm打开taglist和winmanager
使用命令
- :cs add [工程目录]/cscope.out [工程目录] #关联cscope文件
- :cw #打开quickfix窗口