vim的插件和配置网上多如牛毛,秉承着 ”有需求去找插件,而不是用插件去创造需求“ 的理念,本文记录工作中实际需求对应的插件和配置。
一、配置篇
1、vim在使用tags文件跳转时,默认是从执行vim的路径下寻找tags文件。
比如在kernel目录下使用ctags -R .生成了一个tags文件,每次打开文件都需要从kernel目录下去打开,比如: vi drivers/usb/dwc2/gadget.c,就很麻烦,如果cd到dwc2目录下vi gadget.c,会发现跳转找不到tags文件。
只要在.vimrc 中配置一下,就可以在kernel下面的任意目录打开,vim会自动往父层寻找tags文件。
set tags=tags;
2、cscope的配置
" ####################################################
" cscope的配置
" 前面还有一个autoload_cscope.vim插件配合使用
" ####################################################
" cscope按键映射
" 查找C语言符号
nmap <C-_>s :cs find s <C-R>=expand("<cword>")<CR><CR>
" 查找函数、宏、枚举定义的位置,类似ctags所提供的功能
nmap <C-_>g :cs find g <C-R>=expand("<cword>")<CR><CR>
" 查找本函数调用的其它函数
nmap <C-_>d :cs find d <C-R>=expand("<cword>")<CR><CR>
" 查找调用本函数的函数
nmap <C-_>c :cs find c <C-R>=expand("<cword>")<CR><CR>
" 查找指定的字符串
nmap <C-_>t :cs find t <C-R>=expand("<cword>")<CR><CR>
" 查找egrep模式,相当于egrep功能,但查找速度快多了
nmap <C-_>e :cs find e <C-R>=expand("<cword>")<CR><CR>
" 查找并打开文件,类似vim的find功能
nmap <C-_>f :cs find f <C-R>=expand("<cfile>")<CR><CR>
" 查找包含本文件的文件
nmap <C-_>i :cs find i ^<C-R>=expand("<cfile>")<CR>$<CR>
" cscope默认不适用quickfix,那种显示方式没有quickfix好用
" + 表示显示结果追加到quickfix窗口
" - 先清空之前的结果,然后再显示在quickfix窗口
" 0 表示不使用quickfix窗口,默认就是不适用quickfix窗口
set cscopequickfix=s-,c-,d-,i-,t-,e-"
" quickfix按键映射,搭配cscope使用
" 打开quickfix窗口(前提是有信息,否者不care)
nmap <F9>:cw<cr>
" 关闭quickfix窗口
nmap <F10>:cclose
二、插件篇
1、