gvim配置文件

  1. http://blog.csdn.net/lonfee88/article/details/6325246
  2. """"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""" 
  3. " 一般設定 
  4. """""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""  
  5. """"""""""""""""""""""""""""" 
  6. "解決windows下的中文亂碼問題 
  7. """""""""""""""""""""""""""""  
  8. set fileencodings=utf-8,gbk,chinese  
  9. "解決中文菜單亂碼  
  10. set langmenu=zh_CN.utf-8  
  11. source $VIMRUNTIME/delmenu.vim  
  12. source $VIMRUNTIME/menu.vim  
  13. "解決console輸出亂碼  
  14. language messages zh_CN.utf-8  
  15. """""""""""""""""""""""""""" 
  16. "不要使用vi的鍵盤模式,而是vim自己的 
  17. set nocompatible 
  18. " history文件中需要記錄的行數 
  19. set history=100 
  20. " 在處理未保存或只讀文件的時候,彈出確認 
  21. set confirm 
  22. " 偵測文件類型 
  23. filetype on 
  24. " 載入文件類型插件 
  25. filetype plugin on 
  26. " 爲特定文件類型載入相關縮進文件 
  27. filetype indent on 
  28. " 保存全局變量 
  29. set viminfo+=! 
  30. " 帶有如下符號的單詞不要被換行分割 
  31. set iskeyword+=_,$,@,%,#,- 
  32. " 語法高亮 
  33. syntax on 
  34. " 高亮字符,讓其不受100列限制 
  35. :highlight OverLength ctermbg=red ctermfg=white guibg=red guifg=white 
  36. :match OverLength '\%101v.*' 
  37. " 狀態行顏色 
  38. highlight StatusLine guifg=SlateBlue guibg=Yellow 
  39. highlight StatusLineNC guifg=Gray guibg=White 
  40. " 自動設置目錄爲正在編輯的文件所在的目錄 
  41. set autochdir 
  42. set ffs=unix,dos,mac " favor unix ff, which behaves good under bot Winz & Linux  
  43. set clipboard=unnamed,autoselect,exclude:cons\|linux "set clipboard 
  44. "複製粘貼控制 
  45. vmap <C-c> "+yi 
  46. vmap <C-x> "+c 
  47. vmap <C-v> c<ESC>"+p 
  48. imap <C-v> <ESC>"+pa 
  49.  
  50. """""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""  
  51. " 文件設置  
  52. """"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""" 
  53. " 不要備份文件(根據自己需要取捨) 
  54. set nobackup 
  55. " 不要生成swap文件,當buffer被丟棄的時候隱藏它 
  56. setlocal noswapfile 
  57. "set bufhidden=hide 
  58.  
  59. """""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""  
  60. "顯示設置  
  61. """"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""  
  62. " 配色方案  
  63. if (has("gui_running"))  
  64.     colo autumn  
  65. else  
  66.     colo ron  
  67. endif  
  68. " 字符間插入的像素行數目  
  69. set linespace=0  
  70. " 顯示行號  
  71. set nu  
  72. " 增強模式中的命令行自動完成操作  
  73. set wildmenu  
  74. " 我的狀態行顯示的內容(包括文件類型和解碼)  
  75. set statusline=%F%m%r%h%w\ [FORMAT=%{&ff}]\ [TYPE=%Y]\ [POS=%l/%L,%v][%p%%]\ %{strftime(\"%y.%m.%d\ -\ %H:%M\")}  
  76. " 總是顯示狀態行  
  77. set laststatus=2  
  78. " 在編輯過程中,在右下角顯示光標位置的狀態行  
  79. set ruler  
  80. set rulerformat=%20(%2*%<%f%=\ %m%r\ %3l\ %c\ %p%%%)  
  81. "顯示命令  
  82. set showcmd  
  83. " 命令行(在狀態行下)的高度,默認爲1,這裏是2  
  84. set cmdheight=1  
  85. " 使回格鍵(backspace)正常處理indent, eol, start等  
  86. set backspace=2  
  87. " 允許backspace和光標鍵跨越行邊界  
  88. set whichwrap+=<,>,h,l  
  89. " 可以在buffer的任何地方使用鼠標(類似office中在工作區雙擊鼠標定位)  
  90. set mouse=a  
  91. set selection=exclusive  
  92. set selectmode=mouse,key  
  93. " 啓動的時候不顯示那個援助索馬里兒童的提示  
  94. "set shortmess=atI  
  95. " 通過使用: commands命令,告訴我們文件的哪一行被改變過  
  96. set report=0  
  97. " 不讓vim發出討厭的滴滴聲  
  98. "set noerrorbells  
  99. " 在被分割的窗口間顯示空白,便於閱讀  
  100. set fillchars=vert:\ ,stl:\ ,stlnc:\  
  101.   
  102. """"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""" 
  103. " 搜索和匹配 
  104. """""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""  
  105. " 高亮顯示匹配的括號  
  106. set showmatch  
  107. " 匹配括號高亮的時間(單位是十分之一秒)  
  108. set matchtime=5  
  109. " 在搜索的時候忽略大小寫  
  110. set ignorecase  
  111. " 不要高亮被搜索的句子(phrases)  
  112. set nohlsearch  
  113. " 在搜索時,輸入的詞句的逐字符高亮(類似firefox的搜索)  
  114. set incsearch  
  115. " 輸入:set list命令是應該顯示些啥?  
  116. set listchars=tab:\|\ ,trail:.,extends:>,precedes:<,eol:$  
  117. " 光標移動到buffer的頂部和底部時保持3行距離  
  118. set scrolloff=3  
  119. " 不要閃爍  
  120. set novisualbell  
  121.   
  122. """"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""" 
  123. " 文本格式和排版 
  124. """""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""  
  125. " 自動格式化  
  126. set formatoptions=tcrqn  
  127. " 繼承前一行的縮進方式,特別適用於多行註釋  
  128. "set autoindent  
  129. " 爲C程序提供自動縮進  
  130. "set smartindent  
  131. " 使用C樣式的縮進  
  132. "set cindent  
  133. " 製表符爲4  
  134. set tabstop=4  
  135. " 統一縮進爲4  
  136. set softtabstop=4  
  137. set shiftwidth=4  
  138. " 不要用空格代替製表符  
  139. set noexpandtab  
  140. " 不要換行  
  141. set wrap  
  142. " 在行和段開始處使用製表符  
  143. set smarttab  
  144.   
  145. """"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""" 
  146. " CTags的設定 
  147. """""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""  
  148. "設置CTags的路徑  
  149. let Tlist_Ctags_Cmd='/usr/bin/ctags'  
  150. let g:winManagerWindowLayout='FileExplorer|TagList'  
  151. "設置wm爲Ctags快捷鍵  
  152. nmap wm :WMToggle<cr>  
  153.   
  154. """"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""" 
  155. " 快捷鍵設定 
  156. """""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""  
  157. " C的編譯和運行  
  158. map <F5> :call CompileRunGcc()<CR>  
  159. func! CompileRunGcc()  
  160. exec "w"  
  161. exec "!gcc % -o %<"  
  162. exec "! ./%<"  
  163. endfunc  
  164. " C++的編譯和運行  
  165. map <F6> :call CompileRunGpp()<CR>  
  166. func! CompileRunGpp()  
  167. exec "w"  
  168. exec "!g++ % -o %<"  
  169. exec "! ./%<"  
  170. endfunction  
  171. " Python的運行  
  172. map <F8> :call RunPython()<CR>  
  173. func! RunPython()   
  174.     let mp = &makeprg   
  175.     let ef = &errorformat   
  176.     let exeFile = expand("%:t")   
  177.     setlocal makeprg=python\ -u   
  178.     set efm=%C\ %.%#,%A\ \ File\ \"%f\"\\,\ line\ %l%.%#,%Z%[%^\ ]%\\@=%m   
  179.     silent make %   
  180.     copen   
  181.     let &makeprg     = mp   
  182.     let &errorformat = ef   
  183. endfunction  
  184.   
  185. """"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""" 
  186. " 其它設定 
  187. """""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""  
  188. " 高亮顯示普通txt文件(需要txt.vim腳本)  
  189. au BufRead,BufNewFile * setfiletype txt  
  190. " 用空格鍵來開關摺疊  
  191. set foldenable  
  192. set foldmethod=manual  
  193. nnoremap <space> @=((foldclosed(line('.')) < 0) ? 'zc' : 'zo')<CR> 
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章