gvim配置文件

来源:互联网 发布:java项目视频 百度云 编辑:程序博客网 时间:2024/05/18 20:31
  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>