vim 本文大多数内容整理于vimtutor,都是vim最基本的操作,掌握了这些就可以使用vim工作了。 

 
  1. Vim有三种模式:一般模式、编辑模式、命令模式: 
  2. 1.打开vim的时候就是一般模式,可以修改但是不能往里写内容,任何时候按2次ESC即可返回一般模式; 
  3. 2.按i可以进入编辑模式,在这个模式下跟记事本一样操作,按ESC退出编辑模式; 
  4. 3.在一般模式下,按冒号(:)可以进入命令模式,回车执行命令并返回一般模式。 
  5.  
  6. 第一章 VIM基础 
  7.  
  8. 1.1 移动光标: 
  9.  
  10. (n)h—左移(n个字符) 
  11. (n)l—右移(n个字符) 
  12. (n)j—下移(n行) 
  13. (n)k—上移(n行) 
  14.  
  15. 1.2 进出vim与保存文件: 
  16.  
  17. vim filename 
  18. :q——退出 
  19. :w——写入 
  20. :wq——写入退出 
  21. :q!——不保存退出 
  22.  
  23. 1.3 文本编辑之删除 
  24.  
  25. x——删除光标所在位置的字符 
  26.  
  27. 1.4 文本编辑之插入 
  28. i——进入插入模式 
  29.  
  30. 第二章 删除与撤销 
  31.  
  32. 2.1 删除类命令: 
  33.  
  34. dw——从光标处删除一个单字/单词 
  35.  
  36. 2.2 其他删除类命令: 
  37.  
  38. d$——从光标处删除至行尾 
  39. d0——从光标处删除至行首 
  40.  
  41. 2.3 关于命令和对象: 
  42.  
  43. 格式: 
  44. [number]   d   object 或者 d   [number]   object 
  45.  
  46. number - 代表執行命令的次數(可選項,缺省設置為 1 )。 
  47. d - 代表刪除。 
  48. object - 代表命令所要操作的對象(下面有相關介紹)。 
  49.  
  50.     w - 從當前光標當前位置直到單字/單詞末尾,包括空格。 
  51.     e - 從當前光標當前位置直到單字/單詞末尾,但是 *不* 包括空格。 
  52.     $ - 從當前光標當前位置直到當前行末。 
  53.  
  54. 2.4 对象命令的特殊情况: 
  55.  
  56. dd——删除一整行 
  57. ndd——删除n行(number-commadn-object) 
  58.  
  59. 2.5 撤销类命令: 
  60.  
  61. u——撤销最后一次执行的命令 
  62. U——撤销对这一行所做的修改,即恢复该行的原始状态 
  63. ctrl-r——撤销掉之前的撤销命令 
  64.  
  65. 第三章 剪切、复制与粘贴 
  66.  
  67. 3.1 置入类命令: 
  68.  
  69. dd删除整行,改行将保存至vim的缓存区 
  70. p——粘贴至光标后(下) 
  71. P——粘贴至光标前(后) 
  72.  
  73. 3.2 替换类命令: 
  74.  
  75. r——替换光标所在的字符 
  76. R——进入替换模式 
  77.  
  78. 3.3 更改类命令: 
  79.  
  80. cw——替换一个单词,同时进入插入状态 
  81.  
  82. 3.4 使用c指令的其它更改类命令: 
  83.  
  84. c$——删除光标至行尾的字符,并进入插入状态 
  85. c0——删除光标至行首的字符,并进入插入状态 
  86.  
  87. 3.5 文件的复制: 
  88. yy 复制游标所在行整行。或大写一个 Y 
  89. nyy 或 yny 复制两行 
  90. y^ 复制至行首,或 y0 
  91. y$ 复制至行尾。含游标所在处字元。 
  92. yw 复制一个 word。 
  93. y2w 复制两个字。 
  94. yG 复制至档尾。 
  95. y1G 复制至档首。 
  96.  
  97. 3.6 可视模式:移动鼠标,经过的地方会反白,这是可以进行复制,删除等操作 
  98. v—字符选择 
  99. V—行选择 
  100. ctrl-v—区域选择 
  101. y—复制 
  102. d—删除 
  103.  
  104. 3.7 调用系统粘贴板: 
  105.  
  106. Shift-Insert——将系统粘贴板内容复制到vim中 
  107.  
  108. 第四章 查找与替换 
  109.  
  110. 4.1 定位及文件状态 
  111.  
  112. ctrl-g 显示當前編輯文件中當前光標所在行位置以及文件狀態信息 
  113. G 直接跳轉到文件的最后一行 
  114. gg 跳到文件的首行 
  115. ngg 跳到第n行 
  116. 输入行号,然后按“shift-g”,则跳到改行 
  117.  
  118. 4.2 搜索类命令: 
  119.  
  120. /word——向下查找 
  121. ?word——向上查找 
  122. n——下一个 
  123. shift-n——相反方向查找 
  124.  
  125. 4.3 配对括号的查找(在程序试调时很有用) 
  126.  
  127. 用法:将光标移动到一个括号上,按下%,光标跳转到其配对的括号上 
  128.  
  129. 4.4 修正错误的方法之一(查找+替换): 
  130.  
  131. :s/old/new 替换改行第一个old为new 
  132. :s/old/new/g 可以替換全行中所有的old為new 
  133. :#,#s/old/new/g 替换两行之间出现的old为new,#,#为两行的行号 
  134. :%s/old/new/g 替换全文的old为new 
  135. :%s/old/new/gc 全文替换前需确认 
  136.  
  137. 第五章 调用外部命令和外部文件 
  138.  
  139. 5.1 在vim内部执行外部命令的方法: 
  140.  
  141. :!ls 
  142.  
  143. 5.2 保存、删除文件 
  144.  
  145. :w filename 
  146. :!dir 
  147. :!rm filename 
  148.  
  149. 5.3 一个具有选择性的保存命令 
  150.  
  151. :#,# w filename 保存两行之间的文本 
  152.  
  153. 5.4 提取、合并文件 
  154.  
  155. :r anotherfile——将anotherfile文件中的内容提取到当前vim中 
  156.  
  157. 5.5 多文件编辑 
  158. :n filename—编辑另一个文件 
  159. :N filename—编辑上一个档案 
  160. :files—列举vim目前打开的所有文件 
  161.  
  162. 第六章 其它 
  163.  
  164. o——光标*下*方新开一行并进入插入模式 
  165. O——光标*上*方新开一行并进入插入模式 
  166. a——光标所在位置之后插入文本 
  167. A——光标所在行的行尾插入文本 
  168. R——进入替换模式,直至按<ESC>键退出替换模式