"关闭兼容模式
set nocompatible
"设置desert配色
colorscheme desert
"搜索的字符高亮
set hlsearch
"光标所在行高亮
set cursorline
"所在列高亮
"set cursorcolumn
"显示光标当前位置
set ruler
"语法高亮
syntax enable
syntax on
"显示行号
set number
"自动缩进
set autoindent
"设置vim字体大小
set guifont=Monospace\ 16
"显示句号匹配
set showmatch
"设置tab长度为4空格
set tabstop=4
"设置自动缩进的长度为4空格
set shiftwidth=4
set softtabstop=4
"继承前一行的缩进方式,适合多行注释
set autoindent
"总是显示状态栏
set laststatus=2
"我的状态栏
set statusline=[%F]%y%r%m%*%=[Line:%l/%L,Column:%c][%p%%] "显示文件名:总行数,总的字符数
"设置状态栏颜色
highlight StatusLine cterm=bold ctermfg=black ctermbg=white
"不生成临时文件
set noexpandtab
"退出后自动生效
autocmd BufWritePost /home/zbh2/.vimrc source /home/zbh2/.vimrc
"符号匹配
inoremap ( ()<Esc>i
inoremap { {}<Esc>i
inoremap [ []<Esc>i
"设置编码'
set fileencodings=utf-8,ucs-bom,gb18030,gbk,gb2312,cp936
set termencoding=utf-8
set encoding=utf-8
"重新打开文件时,跳到上次的位置
au BufReadPost *
\ if line("'\"") > 1 && line("'\"") <= line("$") |
\ exe "normal! g'\"" |
\ endif
"映射热键
nmap <F1> :q<cr>
nmap <F2> :q!<cr>
nmap <F3> :w<cr>
nmap <F4> :wq<cr>
"显示关闭行号
nmap <F7> :call SetNU()<cr>
func! SetNU()
if &number!=0
exec "set nonumber"
else
exec "set number"
endif
endfunc
"================================================================================================设置ctags和taglist
set tags=tags;
set autochdir
"设置taglist
let Tlist_Ctags_Cmd='/usr/bin/ctags'
let Tlist_Show_One_File=1 "不同时显示多个文件的tag,只显示当前文件的
let Tlist_Exit_OnlyWindow=1 "如果taglist窗口是最后一个窗口,则退出vim
let Tlist_Use_Lift_Window=1 "在左侧窗口中显示taglist窗口
let Tlist_WinWidth=30
"================================================================================================cscope
"创建cscope的数据库 通过cscope -Rbq命令
"cscope查找到结果后通过quickfix窗口查看
set cscopequickfix=s0,c0,d0,i0,t0,e0
"查找该函数出现的地方
nmap <F5> :cs find s <C-R>=expand("<cword>")<CR><CR>
"查找该函数被调用的地方
nmap <F8> :cs find c <C-R>=expand("<cword>")<CR><CR>
"quickfix中向上和向下翻
nmap <F9> :cn<cr>
"打开和关闭taglist窗口
nmap <F6> :TlistToggle<CR>
"显示关闭行号
nmap <F7> :call SetNU()<cr>
func! SetNU()
if &number!=0
exec "set nonumber"
else
exec "set number"
endif
endfunc