使用 Linux 你肯定避不开文本操作,除了 cat、grep、awk、sed等这些牛逼的工具之外,文本编辑也必不可少。你肯定要修改配置文件啦,有时为了看整个文本你可能还需要打开来细细查阅,那么此时你有多个选择,我就喜欢的是 VIM。

VIM 确实是一个很好的编辑工具,但是默认的配置也太丑了吧,就算不求代码高亮,基本的显示行数也没有,好吧,那么作为一个爱折腾的人,我还是把我的 VIM 配置来分享一下。

设置 VIM 样式

1、首先,你肯定要先打开配置文件,在哪?使用下面这条命令即可

  1. vim ~/.vimrc

2、复制粘贴我下面的配置(CV大法又用上了。。)

  1. ==
  2. Author : yetship
  3. Website: https://liqiang.io
  4. Version: 1.0
  5. ==
  6. 按编程语言的语法,对代码进行彩色标示,术语叫做语法高亮
  7. syntax on
  8. 显示行数标示
  9. set number
  10. 打开状态栏的坐标信息
  11. set ruler
  12. 取消底部状态栏显示。1为关闭,2为开启。
  13. set laststatus=1
  14. 将输入的命令显示出来,便于查看当前输入的信息
  15. set showcmd
  16. 设置魔术匹配控制,可以通过:h magic查看更详细的帮助信息
  17. set magic
  18. 设置vim存储的历史命令记录的条数
  19. set history=100
  20. 下划线高亮显示光标所在行
  21. set cursorline
  22. 插入右括号时会短暂地跳转到匹配的左括号
  23. set showmatch
  24. 搜索时忽略大小写
  25. set ignorecase
  26. 不对匹配的括号进行高亮显示
  27. let loaded_matchparen=1
  28. 在执行宏命令时,不进行显示重绘;在宏命令执行完成后,一次性重绘,以便提高性能。
  29. set lazyredraw
  30. 设置一个tab对应4个空格
  31. set tabstop=4
  32. 在按退格键时,如果前面有4个空格,则会统一清除
  33. set softtabstop=4
  34. cindentc语法的缩进更加智能灵活,
  35. shiftwidth则是在使用<和>进行缩进调整时用来控制缩进量。
  36. 换行自动缩进,是按照shiftwidth值来缩进的
  37. set cindent shiftwidth=4
  38. 最基本的自动缩进
  39. set autoindent shiftwidth=4
  40. autoindent稍智能的自动缩进
  41. set smartindent shiftwidth=4
  42. 将新增的tab转换为空格。不会对已有的tab进行转换
  43. set expandtab
  44. 高亮显示搜索匹配到的字符串
  45. set hlsearch
  46. 在搜索模式下,随着搜索字符的逐个输入,实时进行字符串匹配,并对首个匹配到的字符串高亮显示
  47. set incsearch
  48. 设置自定义快捷键的前导键
  49. let mapleader=,
  50. 利用前导键加b,则可以在一个单子两边加上大括号
  51. map b wbi{<Esc>ea}<Esc>
  52. 使用前导键加w来实现加速文件保存,来代替:w!加回车
  53. nmap w :w!<CR>
  54. 匹配那些末尾有空格或TAB的行。(esEndspace Show
  55. map es :/.*s+$<CR>
  56. 删除行末尾的空格或TABedEndspace Delete
  57. map ed :s#s+$##<CR>
  58. 如果所选行的行首没有#,则给所选行行首加上注释符#(#a:# add
  59. map #a :s/^([^#]s*)/#1/<CR>
  60. 如果所选行行首有#,则将所选行行首所有的#都去掉(#d:# delete
  61. map #d :s/^#+(s*)/1/<CR>
  62. 如果所选行的行首没有//,则给所选行行首加上注释符//(/a:/ add
  63. map /a :s/^([^//]s*)///1/<CR>
  64. 如果所选行行首有//,则将所选行行首的//都去掉(/d:/ delete
  65. map /d :s/^//(s*)/1/<CR>

3、 按下 :x 收工