- 安装vim-plug插件管理器
curl -fLo ~/.vim/autoload/plug.vim --create-dirs \
https://raw.githubusercontent.com/junegunn/vim-plug/master/plug.vim- 安装、配置cscope代码浏览工具
yum install cscope
cd your_proejct_path
find . -name "*.c" -o -name "*.h" > cscope.files
cscope -Rbq -i cscope.files
-R:递归解析所有的子目录。
-b:仅构建交叉引用(cross-reference)文件,即数据库,然后退出,而不会进入交互界面。
-q:通过倒排索引加速符号的查找过程。该选项会导致cscope额外产生cscope.in.out和cscope.po.out两个文件。
执行cscope -Rbq后会在当前目录下创建cscope.out、cscope.in.out、cscope.po.out。
在当前项目下打开vim,执行:cs show查看database name,可以看到已经与数据库建立连接。
执行:cs f s <func_name>可以在当前目录下查该函数的定义及使用路径。
- 配置vimrc 安装nerdtree、tagbar、vim-airline、ctrlp.vim等插件,将以下内容添加至~/.vimrc文件。
callplug#begin('~/.vim/plugged')
Plug 'preservim/nerdtree'
Plug 'vim-airline/vim-airline'
Plug 'vim-airline/vim-airline-themes'
Plug 'morhetz/gruvbox'
Plug 'sheerun/vim-polyglot'
Plug 'jiangmiao/auto-pairs'
Plug 'preservim/nerdcommenter'
Plug 'tpope/vim-fugitive'
Plug 'ctrlpvim/ctrlp.vim'
Plug 'airblade/vim-gitgutter'
Plug 'preservim/tagbar'callplug#end()
"============================一般设置======================setnocompatible"vim比vi支持更多的功能,如showcmd,避免冲突和副作用,最好关闭兼容 setencoding=utf-8"使用utf-8编码 setnumber"显示行号 setshowcmd"显示输入命令 setcursorline"显示当前行 sethlsearch"显示高亮搜索 nnoremap<F4>:nohlsearch<CR> "按 F4 键取消高亮显示setincsearchsethistory=100"默认指令记录是20 setruler"显示行号和列号(默认打开)setpastetoggle=<F3>"F3快捷键于paste模式与否之间转化,防止自动缩进 sethelplang=cn"设置为中文帮助文档,需下载并配置之后才生效settabstop=4"设置tab长度为4 setshiftwidth=4"设置自动对齐的缩进级别 setcindentsetsmartindent"改进版的cindent,自动识别以#开头的注释,不进行换行 setautoindent"autoindent配合下面一条命令根据不同语言类型进行不同的缩进操filetypepluginindentonsetnowrap"===========================NERDTree=======================nmap<F7>:NERDTreeToggle <CR>"===========================airline========================letg:airline_theme='dark'" 设置主题letg:airline#extensions#tabline#enabled =1" 显示顶部标签栏letg:airline#extensions#tabline#formatter ='unique_tail'" 标签命名格式letg:airline#extensions#tabline#buffer_nr_show =1letg:airline_theme='gruvbox'" 主题名称"===========================gruvbox========================colorscheme gruvbox" 在 .vimrc 中设置主题setbackground=dark" 或 light"========================nerdcommenter=====================map<C-_><Plug>NERDCommenterToggle " Ctrl+/ 切换注释"=========================tagbar===========================nmap<F8>:TagbarToggle<CR>letg:tagbar_autofocus=1" 自动聚焦到 Tagbar 窗口letg:tagbar_autoupdate=1" 自动更新标签(文件保存时letg:tagbar_width=30" 窗口宽度"=========================cscope===========================" 自动加载数据库iffilereadable("cscope.out") &&!cscope_connection()
csaddcscope.out
endif- 打开vim,执行
:PlugInstall