vimrc中默认的配置,以下基本是vimrc中的默认配置和解释
set nu "显示行号
colorscheme koehler "配置配色方案
syntax enable "语法高亮
syntax on "语法高亮打开
set tabstop=4 "设置tab的缩进为4个空格
set softtabstop=4 "设置tab的缩进为4个空格
set shiftwidth=4 "指定下一行首行缩进
set expandtab "不要在文件中出现制表符
set showcmd "输入的命令显示出来,看的清楚些
set showmode "命令行显示vim当前模式
set si "智能缩进
set history=400 "保存400条历史
set nobackup "vim一般不会产生备份文件。不需要就如下写。
filetype plugin indent on "使用缩进文件,vim根据不同的策略处理不同的文件类型
set backspace=indent,eol,start "指明在插入模式下载哪里允许<bs>删除光标前的字符。三个分别表示行首的空白字符,换行符和插入模式开始处
set autoindent "启动一个新行的时候使用与之前一致的缩进,,<enter>换行或者o,也可以用set ai
set mouse=a "允许鼠标,在所有模式 或者用a
highlight Comment ctermfg=6 "设置注释的颜色用1-7代表预定义的7种颜色,如果文字被加上了bold属性,以高亮颜色显示
set nocompatible " 关闭兼容模式
set wildmenu " vim 自身命令行模式智能补全
autocmd BufWritePost $MYVIMRC source $MYVIMRC " 让配置变更立即生效
set tags=tags "如果有tags的话使用当前目录下的tags
set cursorline "整行高亮
set cursorcolumn "整列高亮
set hlsearch "高亮显示搜索结果
set incsearch "开启实时搜索功能
set ignorecase "搜索时大小写不敏感
set laststatus=2 "总是显示状态栏
set ruler "显示光标当前位置标尺
"set foldmethod=indent
set foldmethod=syntax " 基于缩进或语法进行代码折叠
set nofoldenable " 启动 vim 时关闭折叠代码
"操作za,打开或关闭当前折叠;zM,关闭所有 折叠;zR,打开所有折叠
set fileencodings=ucs-bom,utf-8,utf-16,gbk,big5,gb18030,latin1 "解决中文乱码的问题
插件
插件1类: windows插件:
1)ctags
这个是生成tags文件的命令
通常的用法是ctags -R *就可以在当前目录生成tags文件
ctags57.zip
解压到
把 ctags.exe 拷贝到$VIM\vim72\目录下,编辑_vimrc,添加 set tags=tags;
打开 cmd,切换到源代码根目录处,运行 ctags -R
vimrc中可以修改如下配置:
nnoremap <silent> <F9> :!ctags -R --c++-kinds=+p --fields=+iaS --extra=+q . <CR>
let Tlist_Ctags_Cmd = 'ctags.exe'
按F9就可以生成tags(这个tags可以在后面的omnicppcomplete自动补全中会涉及使用到)
2)cscope
cscope-15.7a-win32rev18-static.zip
cscope主要是需要查找某个函数的调用情况:
解压 cscope-16.0a-win32.7static.zip,把 cscope.exe 拷贝到$VIM\vim72\
添加$VIM\vim72 到系统环境变量:我的电脑属性高级环境变量系统变量
然后运行 cmd,输入 cscope -V 测试看是否安装成功。
建立符号的命令:
dir /s /b *.c *.h *.cpp *.hpp > cscope.files
cscope -b
或者用
cscope -Rbq
vimrc中的配置
"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
" cscope setting
"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
set csprg=cscope
if has("cscope")
set csprg=cscope
set csto=1
set cst
set nocsverb
" add any database in current directory
if filereadable("cscope.out")
cs add cscope.out
endif
set csverb
endif
nmap <C-_>a :cs add cscope.out ./<cr> let loaded_nerd_tree=1
nmap <C-_>s :cs find s <C-R>=expand("<cword>")<cr><cr>
nmap <C-_>g :cs find g <C-R>=expand("<cword>")<cr><cr>
nmap <C-_>c :cs find c <C-R>=expand("<cword>")<cr><c