1. a 在当前光标后面插入字符 
  2. i 在当前光标前面插入字符 
  3. I 在当前行首插入字符 
  4. A 在当前行尾插入字符 
  5. o(字母)在当前光标下一行插入字符 
  6. O(字母)在当前光标上一行插入字符 
  7. b移动光标到当前字符串的第一个字符 
  8. B移动光标到当前行的第一个字符(以空格分隔) 
  9. cc 删除光标所在行并编辑 
  10. D 删除一行 
  11. db 删除光标前的一个字符或者单词 
  12. de 删除光标后的一个字符或者单词 
  13. dd 删除一样 
  14. E 移动光标到当前行的最后一个字符 
  15. e 移动光标到字符串的组后一个位置 
  16. G 移动光标到行尾 
  17. g 移动光标到行首 
  18. h 移动光标向前一个字符 
  19. j (Ctrl+n)移动光标向下一个字符 
  20. k (Ctrl+P)移动光标向上一个字符 
  21. l(字母)移动光标向后一个字符 
  22. 0(零)移动光标到改行的行首 
  23. M 移动光标到窗口中间的那一行 
  24. L 移动光标到窗口的最后一行 
  25. nG移动光标到第n行 
  26. n+ 从光标所在的位置向后移动至n行 
  27. n- 从光标所在的位置想向前移动至n行 
  28. R  进入替换模式知道你按下【Esc】 
  29. s  删除光标所在字符,并进入替换模式,直到按下【Esc】 
  30. S  删除光标所在的一行字符并进入替换模式直到按下【Esc】 
  31. w  移动光标到下一个位置的字符串 
  32. x  删除光标所在字符的后一个字符 
  33. X  删除光标所在字符的前一个字符 
  34. H  光标移至屏幕定端 
  35. Ctrl+u 向文件首翻半屏 
  36. Ctrl+d 向文件尾翻半屏 
  37. Ctrl+f 向文件尾翻一屏 
  38. Ctrl+b 向文件首翻一屏 
  39. nz  将第n行滚至屏幕顶部,不指定n时,则是当前行滚动到屏幕顶端 
  40. /pattern 从光标开始处向文件尾部搜索pattern 
  41. ?pattern 从光标开始出现想文件首搜索pattern 
  42. n 在同一方向重复上一次搜索命令 
  43. N 在反方向上重复上一次搜索命令 
  44. :s/s1/s2/g 将当前行中所有s1用s2替换,g代表全部如果不写g那就替换第一个 
  45. 找到的s1 
  46. :n1,n2s/s1/s2/g 将n1到n2行之间的所有s1用s2替换 
  47. :g/s1/s2/g  将文件中所有s1用s2替换 
  48. :n1,n2 co n3 将n1,n2行的内容复制到n3行的下面,co(copy). 
  49. :n1,n2 m n3  将n1,n2行的内容移动到n3行的下面,m(move). 
  50. :n1,n2d   将n1到n2行的内容删除,d(del) 
  51. :w  保存当前文件 
  52. :x 保存并退出 
  53. :q 退出vi 
  54. :q! 不保存文件并退出vi 
  55. :!command 执行shell命令 比如:!/etc/init.d/network restart 
  56. :n1,n2 w!command 将文件中n1到n2行的内容作为command的输入并执行 
  57. n1,n2如果不指定(w!command)则表示整个文件内容作为command的输入 
  58. :r!command 将命令command的输入结果放到当前行