Linux VI编辑器命令集合

搜索取消高亮::nohl

1、光标定位快捷键:
H -> 光标定位到屏幕上方 
M -> 光标定位到屏幕中间 
L -> 光表定位到屏幕下方 
b -> 光标向前移动上一个单词词头 
B -> 光标向前移动一个big-word的单词词头 
e -> 光标向后移动下一个单词的词尾 
E -> 光标向后移动下一个big-word的单词词尾 
w -> 光标向后移动到下一个单词的词头 
W -> 光标向后移动到下一个big-word的单词词头 
u -> undo 取消操作 
Ctrl+r -> redo 恢复操作 
r -> 在命令模式中,覆盖当前字符 
R -> 进入编辑模式,覆盖当前字符,也就是替换模式 
Ctrl+t -> 在编辑模式,向右缩进一格 
Ctrl+d -> 在编辑模式,向左缩进一格
2、当前行定位快捷键:
zt -> 把当前行放到屏幕的最上方 
zb -> 把当前行放到屏幕的最下方 
zz -> 把当前行放到屏幕的中间

如何到本档案的最后一行、第一行;本行的第一个字符、最后一个字符?   
G,   1G,   0,   $ 
如何删除一行、n行;如何删除一个字符?   
dd,   ndd,   x   或   X   (dG   及   d1G   分别表示删除到页首及页尾) 
如何复制一行、n行并加以贴上?   
yy,   nyy,   p   或   P 
如何搜寻   string   这个字符串?   
?string   (往前搜寻)   
/string   (往后搜寻)   
如何取代   word1   成为   word2,而若需要使用者确认机制,又该如何?   
:1,$s/word1/word2/g   或   
:1,$s/word1/word2/gc   (需要使用者确认)   
如何读取一个档案   filename   进来目前这个档案?   
:r   filename 
如何另存新档成为   newfilename?   
:w   newfilename 
如何存盘、离开、存盘后离开、强制存盘后离开?   
:w;   :q:   :wq;   :wq! 
如何设定与取消行号?   
:set   nu   
:set   nonu 

如何设置回车后自动缩进?

:set ai

如何设置tab的字符个数?

:set tabstop=4

<!--EndFragment-->

  1. h 左,j 下, k 上, l 右
  2. x 删除当前光标后的一个字符
  3. i 在当前光标插入
  4. u 撤销一次操作
  5. ctrl + r 重复上一次操作
  6. w 向右移动一个词首
  7. b 向左移动一个词首
  8. e 向左移动到一个词末
  9. ge 左右移动到一个词末
  10. W 向右移动到句首
  11. B 向左移动到句首
  12. E 向右移动到句末
  13. gE 向左移动到句末
  14. ^ 行首
  15. $ 行尾
  16. f + 字母,当前行,当前光标向左定位到指定字母处(常用操作)
  17. F + 字母,当前行,当前光标向右定位到指定字母处
  18. % 匹配括号
  19. 数字 + gg,定位到数字行
  20. 数字 + %,定位到占全文百分之数字的行
  21. ctrl + f,向下翻页
  22. ctrl + b,向上翻页
  23. /字符串,以当前光标为基准,向下全文查找字符串,支持正则表达式
  24. ?字符串,以当前光标为基准,向上全文查找字符串,支持正则表达式
  25. c,修改,即删除文本后,进入插入模式
  26. v,进入可视模式
  27. y,拷贝内容
  28. split/vsplit 将一个文件切成两个的窗口,合理利用屏幕资源(默认是横着分,vsplit是垂直分)
  29. ctrl + w 在多个窗口间切换
  30. :qall 退出所有窗口
  31. 比较两个文件的差异,vimdiff
  32. do 获取右边与左边不一样的(diff obtain)
  33. dp 将左边的放到右边(diff put)
  34. :s/target/replace/g 替换当前行的target字符串到replace,/g指的是同一行内多次匹配
  35. :1,5s/target/replace/g 替换第一行到第五行中的target字符串到replace
  36. :%s/target/replace/g 替换整个文件中的target字符串到replace,/g表示整
  37. :s/ \([^,]*\) , \(.*\) /\2 \1/g 反向引用,将第一个和第二个正则子表达式匹配的值置换下位子
  38. g ctrl + g 显示字符数,字数,行和列
  39. 快速选中技巧: v + f 或 v + / 组合
  40. gu / gU 小写/大写
  41. :read 读一个文件到当前光标下 简写 :r
  42. :write 写入另一个文件中 简写 :w
  43. q: 指令历史记录
  44. :[range]! xx 执行shell指令,比如 1,5!cat -n则,使1到5行加上行号
  45. :tabedit 在同一个vim进程里,新建一个tab,共享寄存器和内存
  46. gt 在tab间切换
  47. \c 当在前指令里忽略大小写,比如查找word的指令 /\cword ,那么 word,Word,WORD都将匹配
  48. :iabbrev 定义快捷字符串模板,比如 :iabbrev ad adverisement 那么在你进行编辑文本时,输入ad+空格,就会自动补全ad这个单词。如果要每次都是用,最好加到 vimrc 里.
  49. 使用 * 键可以向后搜索光标所在位置的单词。反之,使用 # 键可以向前搜索光标所在位置的单词。
  50. 使用 ga 可以看到光标下的字符的ASCII值。
  51. 用 xp 来交换两个字符,用 ddp 来交换两行。
  52. 使用如下命令给正在编辑的文件添加行号: :%!cat -n

插件:

NERD_tree  ctags   Tlist  Winmanager

http://vim.wikia.com/wiki/Use_Vim_like_an_IDE

NERDTree快捷键:

o 打开关闭文件或者目录
t 在标签页中打开
T 在后台标签页中打开
! 执行此文件
p 到上层目录
P 到根目录
K 到第一个节点
J 到最后一个节点
u 打开上层目录
m 显示文件系统菜单(添加、删除、移动操作)
? 帮助
q 关闭

gt tab之间的切换下一个
gT tab之间的切换上一个
ngt 第n个tab切换

  

原文地址:https://www.cnblogs.com/bugY/p/2140516.html