`
ai_longyu
  • 浏览: 482420 次
社区版块
存档分类
最新评论

linux下vim配置

 
阅读更多
请修改 /etc/vimrc (建议先cp一份)

你看一下那些是对你有用的,你就修改一下:

Java代码收藏代码
  1. [color=blue]setnocompatible"关闭vi兼容模式
  2. syntaxon"自动语法高亮
  3. colorschememolokai"设定配色方案
  4. setnumber"显示行号
  5. setcursorline"突出显示当前行
  6. setruler"打开状态栏标尺
  7. setshiftwidth=4"设定<<和>>命令移动时的宽度为4
  8. setsofttabstop=4"使得按退格键时可以一次删掉4个空格
  9. settabstop=4"设定tab长度为4
  10. setnobackup"覆盖文件时不备份
  11. setautochdir"自动切换当前目录为当前文件所在的目录
  12. filetypepluginindenton"开启插件
  13. setbackupcopy=yes"设置备份时的行为为覆盖
  14. setignorecasesmartcase"搜索时忽略大小写,但在有一个或以上大写字母时仍保持对大小写敏感
  15. setnowrapscan"禁止在搜索到文件两端时重新搜索
  16. setincsearch"输入搜索内容时就显示搜索结果
  17. sethlsearch"搜索时高亮显示被找到的文本
  18. setnoerrorbells"关闭错误信息响铃
  19. setnovisualbell"关闭使用可视响铃代替呼叫
  20. sett_vb="置空错误铃声的终端代码
  21. "setshowmatch"插入括号时,短暂地跳转到匹配的对应括号
  22. "setmatchtime=2"短暂跳转到匹配括号的时间
  23. setmagic"设置魔术
  24. sethidden"允许在有未保存的修改时切换缓冲区,此时的修改由vim负责保存
  25. setguioptions-=T"隐藏工具栏
  26. setguioptions-=m"隐藏菜单栏
  27. setsmartindent"开启新行时使用智能自动缩进
  28. setbackspace=indent,eol,start
  29. "不设定在插入状态无法用退格键和Delete键删除回车符
  30. setcmdheight=1"设定命令行的行数为1
  31. setlaststatus=2"显示状态栏(默认值为1,无法显示状态栏)
  32. setstatusline=\%<%F[%1*%M%*%n%R%H]%=\%y\%0(%{&fileformat}\%{&encoding}\%c:%l/%L%)\
  33. "设置在状态行显示的信息
  34. setfoldenable"开始折叠
  35. setfoldmethod=syntax"设置语法折叠
  36. setfoldcolumn=0"设置折叠区域的宽度
  37. setlocalfoldlevel=1"设置折叠层数为
  38. "setfoldclose=all"设置为自动关闭折叠
  39. "nnoremap<space>@=((foldclosed(line('.'))<0)?'zc':'zo')<CR>
  40. "用空格键来开关折叠
  41. "returnOStype,eg:windows,orlinux,mac,et.st..
  42. function!MySys()
  43. ifhas("win16")||has("win32")||has("win64")||has("win95")
  44. return"windows"
  45. elseifhas("unix")
  46. return"linux"
  47. endif
  48. endfunction
  49. "用户目录变量$VIMFILES
  50. ifMySys()=="windows"
  51. let$VIMFILES=$VIM.'/vimfiles'
  52. elseifMySys()=="linux"
  53. let$VIMFILES=$HOME.'/.vim'
  54. endif
  55. "设定doc文档目录
  56. lethelptags=$VIMFILES.'/doc'
  57. "设置字体以及中文支持
  58. ifhas("win32")
  59. setguifont=Inconsolata:h12:cANSI
  60. endif
  61. "配置多语言环境
  62. ifhas("multi_byte")
  63. "UTF-8编码
  64. setencoding=utf-8
  65. settermencoding=utf-8
  66. setformatoptions+=mM
  67. setfencs=utf-8,gbk
  68. ifv:lang=~?'^\(zh\)\|\(ja\)\|\(ko\)'
  69. setambiwidth=double
  70. endif
  71. ifhas("win32")
  72. source$VIMRUNTIME/delmenu.vim
  73. source$VIMRUNTIME/menu.vim
  74. languagemessageszh_CN.utf-8
  75. endif
  76. else
  77. echoerr"Sorry,thisversionof(g)vimwasnotcompiledwith+multi_byte"
  78. endif
  79. "窗口分割时,进行切换的按键热键需要连接两次,比如从下方窗口移动
  80. "光标到上方窗口,需要<c-w><c-w>k,非常麻烦,现在重映射为<c-k>,切换的
  81. "时候会变得非常方便.
  82. nnoremap<C-h><C-w>h
  83. nnoremap<C-j><C-w>j
  84. nnoremap<C-k><C-w>k
  85. nnoremap<C-l><C-w>l
  86. "一些不错的映射转换语法(如果在一个文件中混合了不同语言时有用)
  87. nnoremap<leader>1:setfiletype=xhtml<CR>
  88. nnoremap<leader>2:setfiletype=css<CR>
  89. nnoremap<leader>3:setfiletype=javascript<CR>
  90. nnoremap<leader>4:setfiletype=php<CR>
  91. "setfileformats=unix,dos,mac
  92. "nmap<leader>fd:sefileformat=dos<CR>
  93. "nmap<leader>fu:sefileformat=unix<CR>
  94. "useCtrl+[l|n|p|cc]tolist|next|previous|jumptocounttheresult
  95. "map<C-x>l<ESC>:cl<CR>
  96. "map<C-x>n<ESC>:cn<CR>
  97. "map<C-x>p<ESC>:cp<CR>
  98. "map<C-x>c<ESC>:cc<CR>
  99. "让Tohtml产生有CSS语法的html
  100. "syntax/2html.vim,可以用:runtime!syntax/2html.vim
  101. lethtml_use_css=1
  102. "Python文件的一般设置,比如不要tab等
  103. autocmdFileTypepythonsettabstop=4shiftwidth=4expandtab
  104. autocmdFileTypepythonmap<F12>:!python%<CR>
  105. "选中状态下Ctrl+c复制
  106. vmap<C-c>"+y
  107. "打开javascript折叠
  108. letb:javascript_fold=1
  109. "打开javascript对dom、html和css的支持
  110. letjavascript_enable_domhtmlcss=1
  111. "设置字典~/.vim/dict/文件的路径
  112. autocmdfiletypejavascriptsetdictionary=$VIMFILES/dict/javascript.dict
  113. autocmdfiletypecsssetdictionary=$VIMFILES/dict/css.dict
  114. autocmdfiletypephpsetdictionary=$VIMFILES/dict/php.dict
  115. "-----------------------------------------------------------------
  116. "plugin-bufexplorer.vimBuffers切换
  117. "\be全屏方式查看全部打开的文件列表
  118. "\bv左右方式查看\bs上下方式查看
  119. "-----------------------------------------------------------------
  120. "-----------------------------------------------------------------
  121. "plugin-taglist.vim查看函数列表,需要ctags程序
  122. "F4打开隐藏taglist窗口
  123. "-----------------------------------------------------------------
  124. ifMySys()=="windows""设定windows系统中ctags程序的位置
  125. letTlist_Ctags_Cmd='"'.$VIMRUNTIME.'/ctags.exe"'
  126. elseifMySys()=="linux""设定windows系统中ctags程序的位置
  127. letTlist_Ctags_Cmd='/usr/bin/ctags'
  128. endif
  129. nnoremap<silent><F4>:TlistToggle<CR>
  130. letTlist_Show_One_File=1"不同时显示多个文件的tag,只显示当前文件的
  131. letTlist_Exit_OnlyWindow=1"如果taglist窗口是最后一个窗口,则退出vim
  132. letTlist_Use_Right_Window=1"在右侧窗口中显示taglist窗口
  133. letTlist_File_Fold_Auto_Close=1"自动折叠当前非编辑文件的方法列表
  134. letTlist_Auto_Open=0
  135. letTlist_Auto_Update=1
  136. letTlist_Hightlight_Tag_On_BufEnter=1
  137. letTlist_Enable_Fold_Column=0
  138. letTlist_Process_File_Always=1
  139. letTlist_Display_Prototype=0
  140. letTlist_Compact_Format=1
  141. "-----------------------------------------------------------------
  142. "plugin-mark.vim给各种tags标记不同的颜色,便于观看调式的插件。
  143. "\mmarkorunmarkthewordunder(orbefore)thecursor
  144. "\rmanuallyinputaregularexpression.用于搜索.
  145. "\nclearthismark(i.e.themarkunderthecursor),orclearallhighlightedmarks.
  146. "\*当前MarkWord的下一个\#当前MarkWord的上一个
  147. "\/所有MarkWords的下一个\?所有MarkWords的上一个
  148. "-----------------------------------------------------------------
  149. "-----------------------------------------------------------------
  150. "plugin-NERD_tree.vim以树状方式浏览系统中的文件和目录
  151. ":ERDtree打开NERD_tree:NERDtreeClose关闭NERD_tree
  152. "o打开关闭文件或者目录t在标签页中打开
  153. "T在后台标签页中打开!执行此文件
  154. "p到上层目录P到根目录
  155. "K到第一个节点J到最后一个节点
  156. "u打开上层目录m显示文件系统菜单(添加、删除、移动操作)
  157. "r递归刷新当前目录R递归刷新当前根目录
  158. "-----------------------------------------------------------------
  159. "F3NERDTree切换
  160. map<F3>:NERDTreeToggle<CR>
  161. imap<F3><ESC>:NERDTreeToggle<CR>
  162. "-----------------------------------------------------------------
  163. "plugin-NERD_commenter.vim注释代码用的,
  164. "[count],cc光标以下count行逐行添加注释(7,cc)
  165. "[count],cu光标以下count行逐行取消注释(7,cu)
  166. "[count],cm光标以下count行尝试添加块注释(7,cm)
  167. ",cA在行尾插入/**/,并且进入插入模式。这个命令方便写注释。
  168. "注:count参数可选,无则默认为选中行或当前行
  169. "-----------------------------------------------------------------
  170. letNERDSpaceDelims=1"让注释符与语句之间留一个空格
  171. letNERDCompactSexyComs=1"多行注释时样子更好看
  172. "-----------------------------------------------------------------
  173. "plugin-DoxygenToolkit.vim由注释生成文档,并且能够快速生成函数标准注释
  174. "-----------------------------------------------------------------
  175. letg:DoxygenToolkit_authorName="Asins-asinsimpleATgmailDOTcom"
  176. letg:DoxygenToolkit_briefTag_funcName="yes"
  177. map<leader>da:DoxAuthor<CR>
  178. map<leader>df:Dox<CR>
  179. map<leader>db:DoxBlock<CR>
  180. map<leader>dca/**/<LEFT><LEFT><LEFT>
  181. "-----------------------------------------------------------------
  182. "plugin–ZenCoding.vim很酷的插件,HTML代码生成
  183. "插件最新版:http://github.com/mattn/zencoding-vim
  184. "常用命令可看:http://nootn.com/blog/Tool/23/
  185. "-----------------------------------------------------------------
  186. "-----------------------------------------------------------------
  187. "plugin–checksyntax.vimJavaScript常见语法错误检查
  188. "默认快捷方式为F5
  189. "-----------------------------------------------------------------
  190. letg:checksyntax_auto=0"不自动检查
  191. "-----------------------------------------------------------------
  192. "plugin-NeoComplCache.vim自动补全插件
  193. "-----------------------------------------------------------------
  194. letg:AutoComplPop_NotEnableAtStartup=1
  195. letg:NeoComplCache_EnableAtStartup=1
  196. letg:NeoComplCache_SmartCase=1
  197. letg:NeoComplCache_TagsAutoUpdate=1
  198. letg:NeoComplCache_EnableInfo=1
  199. letg:NeoComplCache_EnableCamelCaseCompletion=1
  200. letg:NeoComplCache_MinSyntaxLength=3
  201. letg:NeoComplCache_EnableSkipCompletion=1
  202. letg:NeoComplCache_SkipInputTime='0.5'
  203. letg:NeoComplCache_SnippetsDir=$VIMFILES.'/snippets'
  204. "<TAB>completion.
  205. inoremap<expr><TAB>pumvisible()?"\<C-n>":"\<TAB>"
  206. "snippetsexpandkey
  207. imap<silent><C-e><Plug>(neocomplcache_snippets_expand)
  208. smap<silent><C-e><Plug>(neocomplcache_snippets_expand)
  209. "-----------------------------------------------------------------
  210. "plugin-matchit.vim对%命令进行扩展使得能在嵌套标签和语句之间跳转
  211. "%正向匹配g%反向匹配
  212. "[%定位块首]%定位块尾
  213. "-----------------------------------------------------------------
  214. "-----------------------------------------------------------------
  215. "plugin-vcscommand.vim对%命令进行扩展使得能在嵌套标签和语句之间跳转
  216. "SVN/git管理工具
  217. "-----------------------------------------------------------------
  218. "-----------------------------------------------------------------
  219. "plugin–a.vim
  220. "-----------------------------------------------------------------[/color]
分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics