~/.vimrc config

  1 runtime! debian.vim
  2 "设置编码
  3 set encoding=utf-8
  4 set fencs=utf-8,ucs-bom,shift-jis,gb18030,gbk,gb2312,cp936
  5 set fileencodings=utf-8,ucs-bom,chinese
  6 
  7 "语言设置
  8 set langmenu=zh_CN.UTF-8
  9 
 10 "设置语法高亮
 11 syntax enable
 12 syntax on
 13 
 14 "设置配色方案
 15 colorscheme torte
 16 
 17 "可以在buffer的任何地方使用鼠标
 18 set mouse=a
 19 set selection=exclusive
 20 set selectmode=mouse,key
 21 
 22 "高亮显示匹配的括号
 23 set showmatch
 24 
 25 "去掉vi一致性
 26 set nocompatible
 27 
 28 "设置缩进
 29 set tabstop=4
 30 set softtabstop=4
 31 set shiftwidth=4
 32 set autoindent
 33 set cindent
 34 if &term=="xterm"
 35     set t_Co=8
 36     set t_Sb=^[[4%dm
 37     set t_Sf=^[[3%dm
 38 endif
 39 
 40 "打开文件类型自动检测功能
 41 filetype on
 42 
 43 "设置taglist
 44 let Tlist_Show_One_File=0   "显示多个文件的tags
 45 let Tlist_File_Fold_Auto_Close=1 "非当前文件,函数列表折叠隐藏
 46 let Tlist_Exit_OnlyWindow=1 "在taglist是最后一个窗口时退出vim
 47 let Tlist_Use_SingleClick=1 "单击时跳转
 48 let Tlist_GainFocus_On_ToggleOpen=1 "打开taglist时获得输入焦点
 49 let Tlist_Process_File_Always=1 "不管taglist窗口是否打开,始终解析文件中的tag
 50 
 51 "设置WinManager插件
 52 let g:winManagerWindowLayout='FileExplorer|TagList'
 53 nmap wm :WMToggle<cr>
 54 map <silent> <F9> :WMToggle<cr> "将F9绑定至WinManager,即打开WimManager
 55 
 56 "设置CSCOPE
 57 set cscopequickfix=s-,c-,d-,i-,t-,e- "设定是否使用quickfix窗口显示cscope结果
 58 
 59 "设置Grep插件
 60 nnoremap <silent> <F3> :Grep<CR>
 61 
 62 "设置一键编译
 63 map <F6> :make<CR>
 64 
 65 "设置自动补全
 66 filetype plugin indent on   "打开文件类型检测
 67 set completeopt=longest,menu "关掉智能补全时的预览窗口
 68 
 69 "启动vim时如果存在tags则自动加载
 70 if exists("tags")
 71     set tags=./tags
 72 endif
 73 
 74 "设置按F12就更新tags的方法
 75 map <F12> :call Do_CsTag()<CR>
 76 nmap <C-@>s :cs find s <C-R>=expand("<cword>")<CR><CR>:copen<CR>
 77 nmap <C-@>g :cs find g <C-R>=expand("<cword>")<CR><CR>
 78 nmap <C-@>c :cs find c <C-R>=expand("<cword>")<CR><CR>:copen<CR>
 79 nmap <C-@>t :cs find t <C-R>=expand("<cword>")<CR><CR>:copen<CR>
 80 nmap <C-@>e :cs find e <C-R>=expand("<cword>")<CR><CR>:copen<CR>
 81 nmap <C-@>f :cs find f <C-R>=expand("<cfile>")<CR><CR>:copen<CR>
 82 nmap <C-@>i :cs find i ^<C-R>=expand("<cfile>")<CR>$<CR>:copen<CR>
 83 nmap <C-@>d :cs find d <C-R>=expand("<cword>")<CR><CR>:copen<CR>
 84 function Do_CsTag()
 85         let dir = getcwd()
 86         if filereadable("tags")
 87             if(g:iswindows==1)
 88                 let tagsdeleted=delete(dir."\\"."tags")
 89             else
 90                 let tagsdeleted=delete("./"."tags")
 91             endif
 92             if(tagsdeleted!=0)
 93                 echohl WarningMsg | echo "Fail to do tags! I cannot delete the tags" | echohl None
 94                 return
 95             endif
 96         endif
 97         
 98         if has("cscope")
 99             silent! execute "cs kill -1"
100         endif
101         
102         if filereadable("cscope.files")
103             if(g:iswindows==1)
104                 let csfilesdeleted=delete(dir."\\"."cscope.files")
105             else
106                 let csfilesdeleted=delete("./"."cscope.files")
107             endif
108             if(csfilesdeleted!=0)
109                 echohl WarningMsg | echo "Fail to do cscope! I cannot delete the cscope.files" | echohl None
110                 return
111             endif
112         endif
113                                             
114         if filereadable("cscope.out")
115             if(g:iswindows==1)
116                 let csoutdeleted=delete(dir."\\"."cscope.out")
117             else
118                 let csoutdeleted=delete("./"."cscope.out")
119             endif
120             if(csoutdeleted!=0)
121                 echohl WarningMsg | echo "Fail to do cscope! I cannot delete the cscope.out" | echohl None
122                 return
123             endif
124         endif
125                                             
126         if(executable('ctags'))
127             "silent! execute "!ctags -R --c-types=+p --fields=+S *"
128             silent! execute "!ctags -R --c++-kinds=+p --fields=+iaS --extra=+q ."
129         endif
130             
131         if(executable('cscope') && has("cscope") )
132             if(g:iswindows!=1)
133                 silent! execute "!find . -name '*.h' -o -name '*.c' -o -name '*.cpp' -o -name '*.java' -o -name '*.cs' > cscope.files"
134             else
135                 silent! execute "!dir /s/b *.c,*.cpp,*.h,*.java,*.cs >> cscope.files"
136             endif
137             silent! execute "!cscope -b"
138             execute "normal :"
139                                                                     
140             if filereadable("cscope.out")
141                 execute "cs add cscope.out"
142             endif
143         endif
144 endfunction
145 
146 "设置默认shell
147 set shell=bash
148 
149 "设置VIM记录的历史数
150 set history=400
151 
152 "设置当文件被外部改变的时侯自动读入文件
153 if exists("&autoread")
154     set autoread
155 endif
156 
157 "设置ambiwidth
158 set ambiwidth=double
159 
160 "设置文件类型
161 set ffs=unix,dos,mac
162 
163 "设置增量搜索模式
164 set incsearch
165 
166 "设置静音模式
167 set noerrorbells
168 set novisualbell
169 set t_vb=
170 
171 "不要备份文件
172 set nobackup
173 set nowb

 

posted @ 2014-04-07 20:06  yedeying  阅读(207)  评论(0编辑  收藏  举报