我的.vimrc文件

前端之家收集整理的这篇文章主要介绍了我的.vimrc文件前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
  1. colorschememurphy"设置配色方案
  2. setnocompatible"关闭vi兼容模式
  3. Syntaxon"开启语法高亮
  4. setnu"显示行号
  5. setcursorline"突出显示当前行
  6. setruler"打开状态栏标尺
  7. setshiftwidth=4"设定<<和>>命令移动时的宽度为4
  8. setsofttabstop=4"使得按退格键时可以一次删掉4个空格
  9. settabstop=4"设定tab长度为4
  10. setnobackup"覆盖文件时不备份
  11. filetypepluginindenton"开启插件
  12. setbackupcopy=yes"设置备份时的行为为覆盖
  13. setignorecasesmartcase"搜索时忽略大小写,但在有一个或以上大写字母时仍保持对大小写敏感
  14. setnowrapscan"禁止搜索文件两端时重新搜索
  15. setincsearch"输入搜索内容时就显示搜索结果
  16. sethlsearch"搜索时高亮显示被找到的文本
  17. setnoerrorbells"关闭错误信息响铃
  18. setnovisualbell"关闭使用可视响铃代替呼叫
  19. sett_vb="置空错误铃声的终端代码
  20. setmagic"设置魔术
  21. sethidden"允许在有未保存的修改时切换缓冲区,此时的修改由vim负责保存
  22. setguioptions-=T"隐藏工具栏
  23. setguioptions-=m"隐藏菜单
  24. setsmartindent"开启新行时使用智能自动缩进
  25. setbackspace=indent,eol,start"不设定在插入状态无法用退格键和Delete键删除回车符
  26. setcmdheight=1"设定命令行的行数为1
  27. setlaststatus=2"显示状态栏(默认值为1,无法显示状态栏)
  28. setstatusline=\%<%F[%1*%M%*%n%R%H]%=\%y\%0(%{&fileformat}\%{&encoding}\%c:%l/%L%)\"设置在状态行显示的信息
  29. sethelplang=cn"显示中文帮助
  30.  
  31. "新建.c,.h,.sh,.java文件自动插入文件
  32. autocmdBufNewFile*.sh,*.pycallSetTitle()
  33. """定义函数SetTitle自动插入文件
  34. funcSetTitle()
  35. "如果文件类型为.sh文件
  36. if&filetype=='sh'
  37. callsetline(1,"\#!/bin/bash")
  38. callappend(line("."),"\#########################################################################")
  39. callappend(line(".")+1,"\#FileName:".expand("%"))
  40. callappend(line(".")+2,"\#Author:huxianyong")
  41. callappend(line(".")+3,"\#mail:hxy123@163.com")
  42. callappend(line(".")+4,"\#CreatedTime:".strftime("%y-%m-%d%A%H:%M:%S"))
  43. callappend(line(".")+5,"\#########################################################################")
  44. normalG
  45. "G就是到文件最后一行和vim里面的G一样
  46. normalo
  47. "o就是相当于一个回车
  48. normalo
  49. else
  50. callsetline(1,"\#!/usr/bin/python")
  51. callappend(line("."),"\#-*-coding:utf8-*-")
  52. callappend(line(".")+1,"\#*************************************************************************")
  53. callappend(line(".")+2,"\#FileName:".expand("%"))
  54. callappend(line(".")+3,"\#Author:huxianyong")
  55. callappend(line(".")+4,"\#Mail:hxy123@163.com")
  56. callappend(line(".")+5,"\#CreatedTime:".strftime("%c"))
  57. callappend(line(".")+6,"\#************************************************************************")
  58. normalG
  59. normalo
  60. normalo
  61. endif
  62. "新建文件后,自动定位到文件末尾
  63. autocmdBufNewFile*normalG
  64. endfunc
  65. "设置编码格式,字符编码
  66. setfencs=utf-8,ucs-bom,shift-jis,gb18030,gbk,gb2312,cp936
  67. settermencoding=utf-8
  68. setencoding=utf-8
  69. setguifont=Courier_New:h10:cANSI"设置字体
  70. Syntaxon"语法高亮
  71. autocmdInsertLeave*senocul"用浅色高亮当前行
  72. setpastetoggle=<F3>"F3不缩进
  73. setcompleteopt=preview,menu"自动补全
  74. :inoremap(()<ESC>i
  75. :inoremap)<c-r>=ClosePair(')')<CR>
  76. :inoremap{{}<ESC>i
  77. :inoremap}<c-r>=ClosePair('}')<CR>
  78. :inoremap[[]<ESC>i
  79. :inoremap]<c-r>=ClosePair(']')<CR>
  80. :inoremap"""<ESC>i
  81. ":inoremap"<c-r>=ClosePair('"')<CR>
  82. :inoremap'''<ESC>i
  83. :inoremap'<c-r>=ClosePair('\'')<CR>
  84. :inoremap<<><ESC>i
  85. :inoremap><c-r>=ClosePair('>')<CR>
  86. function!ClosePair(char)
  87. ifgetline('.')[col('.')-1]==a:char
  88. return"\<Right>"
  89. else
  90. returna:char
  91. endif
  92. endfunction
  93. filetypepluginindenton
  94. "打开文件类型检测,加了这句才可以用智能补全
  95. setcompleteopt=longest,menu

这里的自动补全只限于使用ctrl+n的时候补全上面已出现的单词,而不是补全没出现过的单词.

值得注意的是,这里的自动补全里的符号成对补全出现

如果输入了( { '"就会出现(){}''""

  1. 但是如果我们的
  2. :inoremap(()<ESC>i空格这样输入(就会变成了()而不是()这样了
  3. 如果
  4. :inoremap)<c-r>=ClosePair(')')<CR>空格这样输入)就会变成了)空格
  5. 其他的符号是一样的,我在vim编辑的时候出现这个问题,找了老半天才发现是这里的问题
  1. 这里的<ESC>就是退出编辑模式,i就是进入编辑模式{<CR>}就是换行,ClosePair就是结束配对
  2. 这里的双引号没法用,我也不知道为什么!

猜你在找的Bash相关文章