vim常用快捷键

你想以最快的速度学习人类史上最好的文本编辑器VIM吗?你先得懂得如何在VIM幸存下来,然后一点一点地学习各种戏法。

存活

  • 了解normal模式和insert模式,在normal模式下按i进入insert模式,按ESC回到normal模式
  • h/j/k/l在normal模式下分别表示向左下上右移动
  • :q!不保存退出
  • :w保存

进阶

快速移动

  • gg/G移动到文件的开头和结尾,可以用ctrl+o快速返回
  • H/M/L跳转到屏幕的开头(HEAD),中间(Middle)和结尾(Lower)
  • ctrl+d(down)往前翻半页,ctrl+u(up)往后翻半页
  • ctrl+f(forward)往前翻一页,ctrl+b(backward)往后翻一页
  • zz让光标所在行居屏幕中央
  • zt让光标所在行居屏幕最上一行 t=top
  • zb 让光标所在行居屏幕最下一行 b=bottom
  • w/W移到下一个word/WORD开头,e/E下一个word/WORD尾
  • b/B(backword)回到上一个word/WORD开头
  • 使用f{char}可以移动到char字符上,t移动到char的前一个字符,用分号(;)/逗号(,)继续搜索该行下一个/上一个,3f{char}可以移动到第三个char字符上
  • 0移动到行首,$移动到行尾
  • 字符# 和 * : 匹配光标当前所在的单词,移动光标到下一个(或上一个)匹配单词(*是下一个,#是上一个)
  • % : 匹配括号移动,包括 (, {, [

增删改查

  • dw删除单词,x删除字符
  • dt)删除右边到)为止的所有字符,其中”)”可以为任意字符
  • r(replace)可以替换一个字符
  • s(substitute)替换并进入插入模式
  • c(change)配合文本对象快速修改,例如caw先回到当前单词光标首字符并删除单词并进入插入模式,cw从当前光标删除到单词结束并进入插入模式,ct)删除到括号并进入插入模式,其中”)”可以为任意字符
  • 使用/或者?进行前向或者反向搜索
  • 使用n/N跳转到下一个或者上一个匹配
  • 使用*或者#进行当前单词的前向或者后向匹配

参考

简明 VIM 练级攻略