小男孩‘自慰网亚洲一区二区,亚洲一级在线播放毛片,亚洲中文字幕av每天更新,黄aⅴ永久免费无码,91成人午夜在线精品,色网站免费在线观看,亚洲欧洲wwwww在线观看

分享

打造適合自己的VIM設(shè)置

 紫火神兵 2013-01-13

經(jīng)過3天的煎熬,找各種資料終于弄了個(gè)基本的符合自己vim配置。

 

這篇文章以后會(huì)不定時(shí)更新。

 

用到的插件:

Java代碼  收藏代碼
  1. a.vim    //頭文件和編程文件之間切換  
  2. bufexplorer.vim      //文件瀏覽器,基本不用  
  3. color_sample_pack.vim   //各種顏色主題  
  4. csExplorer.vim                //  
  5. DoxygenToolkit.vim         //個(gè)性文本生成工具,知道大概干什么,以后再說  
  6. genutils.vim   
  7. list  
  8. lookupfile.vim                 //查找文件插件  
  9. mark.vim                        //標(biāo)記高亮顯示  
  10. minibufexpl.vim              //很好用的打開文件顯示瀏覽器  
  11. NERD_commenter.vim   //注釋插件  
  12. NERD_tree.vim  
  13. project.vim                    //工程目錄插件  
  14. ShowFunc.vim               //顯示函數(shù)插件,還沒怎么用  
  15. taglist.vim                     //前提是安裝了ctags,此插件才好用,Exburant ctags  
  16. winfileexplorer.vim        //winmanager里的,winmanager可以控制taglist和bufexplorer的顯示。  
  17. winmanager.vim  
  18. wintagexplorer.vim  

 

vimrc文件:

 

 

Java代碼  收藏代碼
  1. "display the cursor  
  2. "set ruler  
  3. set nocp  
  4. filetype plugin on  
  5.   
  6. " detect the filetype  
  7. this sentence eq   filetype on, filetype plugin on, filetype indent on  
  8. filetype plugin indent on  
  9. set nocompatible  
  10.   
  11. set foldmethod=syntax  
  12.   
  13. "set color display  
  14. set t_Co=256  
  15.   
  16.   
  17. "Set mapleader  
  18. "when use just in normal mode type ,ee   
  19. let mapleader = ","  
  20.   
  21. "Fast reloading of the .vimrc  
  22. map <silent> <leader>ss :source ~/.vimrc<cr>  
  23. "Fast editing of .vimrc  
  24. map <silent> <leader>ee :e ~/.vimrc<cr>  
  25. "When .vimrc is edited, reload it  
  26. autocmd! bufwritepost .vimrc source ~/.vimrc  
  27.   
  28. """"""""""""""""""""""""""""  
  29. "     MiniBufferExplorer   "  
  30. """"""""""""""""""""""""""""  
  31. let g:miniBufExplMapWindowNavVim=1  
  32. let g:miniBufExplMapWindowNavArrows=1  
  33. let g:miniBufExplMapCTabSwitchBufs=1  
  34. "let g:miniBufExplModSelTarget=1   
  35.   
  36.   
  37. "進(jìn)行Taglist的設(shè)置  
  38. "TlistUpdate可以更新tags  
  39. map <F3> :silent! Tlist<CR>  
  40. "按下F3就可以呼出了  
  41. let Tlist_Ctags_Cmd='/usr/bin/ctags'   
  42. "因?yàn)槲覀兎旁诃h(huán)境變量里,所以可以直接執(zhí)行  
  43. let Tlist_Use_Right_Window=1  
  44. "讓窗口顯示在右邊,0的話就是顯示在左邊  
  45. let Tlist_Show_One_File=1  
  46. "讓taglist可以同時(shí)展示多個(gè)文件的函數(shù)列表  
  47. let Tlist_File_Fold_Auto_Close=1  
  48. "非當(dāng)前文件,函數(shù)列表折疊隱藏  
  49. let Tlist_Exit_OnlyWindow=1  
  50. "當(dāng)taglist是最后一個(gè)分割窗口時(shí),自動(dòng)推出vim  
  51. "是否一直處理tags.1:處理;0:不處理  
  52. let Tlist_Process_File_Always=0  
  53. "不是一直實(shí)時(shí)更新tags,因?yàn)闆]有必要  
  54. let Tlist_Inc_Winwidth=0  
  55.   
  56.   
  57. "設(shè)置字體  
  58. "set guifont=DejaVu\ Sans\ Mono\ 10  
  59. set guifont=Consolas\ 11  
  60. " 開啟語法高亮  
  61. syntax enable  
  62. syntax on  
  63. "設(shè)置了在窗口右側(cè)何處開始換行沒有\(zhòng)n符號(hào),textwidth有\(zhòng)n  
  64. set wrapmargin=10  
  65.   
  66. "在代碼使用4個(gè)空格代替TAB符  
  67. autocmd FileType c,cpp,py set shiftwidth=4 | set expandtab  
  68.   
  69. "zzg added   
  70. "set statusline=%F%m%r%h%w\ [FORMAT=%{&ff}]\ [TYPE=%Y]\ [ASCII=\%03.3b]\ [HEX=\%02.2B]\ [POS=%04l,%04v][%p%%]\ [LEN=%L]  
  71. "set laststatus=2  
  72. "imap <C-s> <ESC>:w<cr>a  
  73.   
  74. set shiftwidth=4  
  75. "set indent length  
  76.   
  77. set expandtab  
  78. " set use a series of backspaces to  replace tab  
  79.   
  80. set tabstop=4  
  81. " set when press a tab how many backspaces will skip  
  82.   
  83. "關(guān)閉vi兼容模式  
  84. "set nocp  
  85.   
  86. " 自動(dòng)切換目錄  
  87. set autochdir  
  88. " 打開行號(hào)顯示  
  89. set nu  
  90. " 設(shè)置文字編碼自動(dòng)識(shí)別  
  91. set fencs=utf-8,cp936  
  92. " 使用鼠標(biāo)  
  93. set mouse=a  
  94. " 設(shè)置高亮搜索  
  95. set hlsearch  
  96. " 設(shè)置代碼折疊  
  97. "set fdm=indent  
  98. "set foldmethod=syntax  
  99. "autocmd FileType c,cpp  setl fdm=syntax | setl fen   
  100. " 輸入字符串就顯示匹配點(diǎn)  
  101. set incsearch  
  102. " 輸入的命令顯示出來,看的清楚些。  
  103. set showcmd  
  104. " 選擇配色方案  
  105. "hi Nomal ctermfg=Grey ctermbg=Black  
  106. colorscheme darkburn  
  107. "colorscheme darkblue  
  108. "colorscheme morning  
  109.   
  110. """"""""""""""""""""""""""""""  
  111. " BufExplorer  
  112. """"""""""""""""""""""""""""""  
  113. "let g:bufExplorerDefaultHelp=0       " Do not show default help.  
  114. "let g:bufExplorerShowRelativePath=1  " Show relative paths.  
  115. "let g:bufExplorerSortBy='mru'        " Sort by most recently used.  
  116. "let g:bufExplorerSplitRight=0        " Split left.  
  117. "let g:bufExplorerSplitVertical=1     " Split vertically.  
  118. "let g:bufExplorerSplitVertSize=30    " Split width  
  119. "let g:bufExplorerUseCurrentWindow=1  " Open in new window.  
  120. "autocmd BufWinEnter \[Buf\ List\] setl nonumber   
  121.   
  122. "打開當(dāng)前目錄文件列表  
  123. """"""""""""""""""""""""""""""  
  124. " netrw setting  
  125. """"""""""""""""""""""""""""""  
  126. let g:netrw_winsize = 30  
  127. nmap <silent> fe :Sexplore!<cr>   
  128.   
  129.   
  130. let g:LookupFile_TagExpr = '"./filenametags"'   
  131.   
  132.   
  133.   
  134. """""""""""""""""""""""""""""  
  135. " WinManager setting  
  136. """""""""""""""""""""""""""""  
  137. let g:winManagerWindowLayout = "FileExplorer|TagList"  
  138. let g:winManagerWidth = 30  
  139. let g:defaultExplorer = 0  
  140. nmap <C-W><C-F> :FirstExplorerWindow<cr>  
  141. nmap <C-W><C-B> :BottomExplorerWindow<cr>  
  142. nmap <silent> wm :WMToggle<cr>  
  143.   
  144. """"""""""""""""""""""""""""""  
  145. " lookupfile setting  
  146. """"""""""""""""""""""""""""""  
  147. let g:LookupFile_MinPatLength = 2               "最少輸入2個(gè)字符才開始查找  
  148. let g:LookupFile_PreserveLastPattern = 0        "不保存上次查找的字符串  
  149. let g:LookupFile_PreservePatternHistory = 1     "保存查找歷史  
  150. let g:LookupFile_AlwaysAcceptFirst = 1          "回車打開第一個(gè)匹配項(xiàng)目  
  151. let g:LookupFile_AllowNewFiles = 0              "不允許創(chuàng)建不存在的文件  
  152. if filereadable("./filenametags")                "設(shè)置tag文件的名字  
  153. let g:LookupFile_TagExpr = '"./filenametags"'  
  154. endif  
  155. "映射LookupFile為,lk  
  156. nmap <silent> <leader>lk :LUTags<cr>  
  157. "映射LUBufs為,ll  
  158. nmap <silent> <leader>ll :LUBufs<cr>  
  159. "映射LUWalk為,lw  
  160. nmap <silent> <leader>lw :LUWalk<cr>  
  161.   
  162. " lookup file with ignore case  
  163. function! LookupFile_IgnoreCaseFunc(pattern)  
  164.     let _tags = &tags  
  165.     try  
  166.         let &tags = eval(g:LookupFile_TagExpr)  
  167.         let newpattern = '\c' . a:pattern  
  168.         let tags = taglist(newpattern)  
  169.     catch  
  170.         echohl ErrorMsg | echo "Exception: " . v:exception | echohl NONE  
  171.         return ""  
  172.     finally  
  173.         let &tags = _tags  
  174.     endtry  
  175.   
  176.     " Show the matches for what is typed so far.  
  177.     let files = map(tags, 'v:val["filename"]')  
  178.     return files  
  179. endfunction  
  180. let g:LookupFile_LookupFunc = 'LookupFile_IgnoreCaseFunc'   
  181.   
  182.   
  183. """"""""""""""""""""""""""""""  
  184. " mark setting  
  185. """"""""""""""""""""""""""""""  
  186. nmap <silent> <leader>hl <Plug>MarkSet  
  187. vmap <silent> <leader>hl <Plug>MarkSet  
  188. nmap <silent> <leader>hh <Plug>MarkClear  
  189. vmap <silent> <leader>hh <Plug>MarkClear  
  190. nmap <silent> <leader>hr <Plug>MarkRegex  
  191. vmap <silent> <leader>hr <Plug>MarkRegex   
  192.   
  193. "Quickfix hotkey  
  194. autocmd FileType c,cpp  map <buffer> <leader><space> :w<cr>:make<cr>  
  195. nmap <leader>cn :cn<cr>  
  196. nmap <leader>cp :cp<cr>  
  197. nmap <leader>cw :cw 10<cr>   
  198.   
  199. "在當(dāng)前文件中快速查找光標(biāo)下的單詞:   
  200. nmap <leader>lv :lv /<c-r>=expand("<cword>")<cr>/ %<cr>:lw<cr>   
  201.   
  202.   
  203. map <F12> :call Do_CsTag()<CR>  
  204. nmap <C-@>s :cs find s <C-R>=expand("<cword>")<CR><CR>:copen<CR>  
  205. nmap <C-@>g :cs find g <C-R>=expand("<cword>")<CR><CR>  
  206. nmap <C-@>c :cs find c <C-R>=expand("<cword>")<CR><CR>:copen<CR>  
  207. nmap <C-@>t :cs find t <C-R>=expand("<cword>")<CR><CR>:copen<CR>  
  208. nmap <C-@>e :cs find e <C-R>=expand("<cword>")<CR><CR>:copen<CR>  
  209. nmap <C-@>f :cs find f <C-R>=expand("<cfile>")<CR><CR>:copen<CR>  
  210. nmap <C-@>i :cs find i ^<C-R>=expand("<cfile>")<CR>$<CR>:copen<CR>  
  211. nmap <C-@>d :cs find d <C-R>=expand("<cword>")<CR><CR>:copen<CR>  
  212. function Do_CsTag()  
  213.     let dir = getcwd()  
  214.     if filereadable("tags")  
  215.         if(g:iswindows==1)  
  216.             let tagsdeleted=delete(dir."\\"."tags")  
  217.         else  
  218.             let tagsdeleted=delete("./"."tags")  
  219.         endif  
  220.         if(tagsdeleted!=0)  
  221.             echohl WarningMsg | echo "Fail to do tags! I cannot delete the tags" | echohl None  
  222.             return  
  223.         endif  
  224.     endif  
  225.     if has("cscope")  
  226.         silent! execute "cs kill -1"  
  227.     endif  
  228.     if filereadable("cscope.files")  
  229.         if(g:iswindows==1)  
  230.             let csfilesdeleted=delete(dir."\\"."cscope.files")  
  231.         else  
  232.             let csfilesdeleted=delete("./"."cscope.files")  
  233.         endif  
  234.         if(csfilesdeleted!=0)  
  235.             echohl WarningMsg | echo "Fail to do cscope! I cannot delete the cscope.files" | echohl None  
  236.             return  
  237.         endif  
  238.     endif  
  239.     if filereadable("cscope.out")  
  240.         if(g:iswindows==1)  
  241.             let csoutdeleted=delete(dir."\\"."cscope.out")  
  242.         else  
  243.             let csoutdeleted=delete("./"."cscope.out")  
  244.         endif  
  245.         if(csoutdeleted!=0)  
  246.             echohl WarningMsg | echo "Fail to do cscope! I cannot delete the cscope.out" | echohl None  
  247.             return  
  248.         endif  
  249.     endif  
  250.     if(executable('ctags'))  
  251.         "silent! execute "!ctags -R --c-types=+p --fields=+S *"  
  252.         silent! execute "!ctags -R --c++-kinds=+p --fields=+iaS --extra=+q ."  
  253.     endif  
  254.     if(executable('cscope') && has("cscope") )  
  255.         if(g:iswindows!=1)  
  256.             silent! execute "!find . -name '*.h' -o -name '*.c' -o -name '*.cpp' -o -name '*.java' -o -name '*.cs' > cscope.files"  
  257.         else  
  258.             silent! execute "!dir /s/b *.c,*.cpp,*.h,*.java,*.cs >> cscope.files"  
  259.         endif  
  260.         silent! execute "!cscope -b"  
  261.         execute "normal :"  
  262.         if filereadable("cscope.out")  
  263.             execute "cs add cscope.out"  
  264.         endif  
  265.     endif  
  266. endfunction  
  267.   
  268.   
  269.   
  270.   
  271. " OmniCppComplete  
  272. let OmniCpp_NamespaceSearch = 1  
  273. let OmniCpp_GlobalScopeSearch = 1  
  274. let OmniCpp_ShowAccess = 1  
  275. let OmniCpp_ShowPrototypeInAbbr = 1 " show function parameters  
  276. let OmniCpp_MayCompleteDot = 1 " autocomplete after .  
  277. let OmniCpp_MayCompleteArrow = 1 " autocomplete after ->  
  278. let OmniCpp_MayCompleteScope = 1 " autocomplete after ::  
  279. let OmniCpp_DefaultNamespaces = ["std""_GLIBCXX_STD"]  
  280. " automatically open and close the popup menu / preview window  
  281. autocmd CursorMovedI,InsertLeave * if pumvisible() == 0|silent! pclose|endif  
  282.   
  283.   
  284.   
  285. " set something for ominicomplete  
  286. set completeopt=longest,menu   
  287.   
  288. "對(duì)NERD_commenter的設(shè)置  
  289. let NERDShutUp=1  
  290.   
  291. map fg :Dox<cr>  
  292. let g:DoxygenToolkit_authorName="zzg"  
  293. let g:DoxygenToolkit_licenseTag="My own license\<enter>"  
  294. let g:DoxygenToolkit_undocTag="DOXIGEN_SKIP_BLOCK"  
  295. let g:DoxygenToolkit_briefTag_pre = "@brief\t"  
  296. let g:DoxygenToolkit_paramTag_pre = "@param\t"  
  297. let g:DoxygenToolkit_returnTag = "@return\t"  
  298. let g:DoxygenToolkit_briefTag_funcName = "no"  
  299. let g:DoxygenToolkit_maxFunctionProtoLines = 30  
  300.   
  301.   
  302.   
  303. " mapping omini  
  304. inoremap <expr> <CR>       pumvisible()?"\<C-Y>":"\<CR>"  
  305. inoremap <expr> <C-J>      pumvisible()?"\<PageDown>\<C-N>\<C-P>":"\<C-X><C-O>"  
  306. inoremap <expr> <C-K>      pumvisible()?"\<PageUp>\<C-P>\<C-N>":"\<C-K>"  
  307. inoremap <expr> <C-U>      pumvisible()?"\<C-E>":"\<C-U>"   
  308.   
  309.   
  310. set tags+=~/.vim/stl_tags  
  311.   
  312. "set paste  if set this the omnicomplete will not work   
  313. "remember to the last position you edit zzg  
  314. if has("autocmd")  
  315.        autocmd BufRead *.txt set tw=78  
  316.        autocmd BufReadPost *  
  317.         \ if line("'\"") > 0 && line ("'\"") <= line("$") |  
  318.         \   exe "normal g'\"" |  
  319.         \ endif  
  320. endif  

 

 

 

 

總結(jié)一下安裝過程中遇到的問題:

   安裝ctags由于以前安裝過emacs,所以有了emacs的ctags,我誤以為是exburant ctags已經(jīng)安裝了,結(jié)果錯(cuò)了很長(zhǎng)時(shí)間,要安裝Exburant ctags,也就是正常情況下的ctags。

   安裝cscope時(shí)make錯(cuò)誤,就沒安,繼續(xù)往下,但是cpp的自動(dòng)補(bǔ)全不好使。后來查到cscope缺少的相關(guān)軟件有:

   bison , flex  lib curses-dev 什么的

   用 apt-cache search keywords 就能找到了.然后再安裝對(duì)應(yīng)的包就行了。

 

最后設(shè)置vim下用256色,并用了一個(gè)非常好看的顏色主題:darkburn.vim

 

有兩個(gè)網(wǎng)站關(guān)于vim講的非常好:

http://www./

http:///blog/     很敬佩這位大牛??!

 

 

 

下載插件的官網(wǎng)是:搜一下想找的插件立馬就會(huì)出來,官網(wǎng)很強(qiáng)大。

http://www./scripts/

    本站是提供個(gè)人知識(shí)管理的網(wǎng)絡(luò)存儲(chǔ)空間,所有內(nèi)容均由用戶發(fā)布,不代表本站觀點(diǎn)。請(qǐng)注意甄別內(nèi)容中的聯(lián)系方式、誘導(dǎo)購買等信息,謹(jǐn)防詐騙。如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請(qǐng)點(diǎn)擊一鍵舉報(bào)。
    轉(zhuǎn)藏 分享 獻(xiàn)花(0

    0條評(píng)論

    發(fā)表

    請(qǐng)遵守用戶 評(píng)論公約

    類似文章 更多