Vim速查


模式

  • Normal Mode: 默认模式,通过ESC可以到达这个模式
  • Insert Mode: 编辑模式,通过I到达这个模式
  • Visual Mode: 阅读模式,通过V到达这个模式

保存修改

  • :q: 退出
  • :q!: 不保存退出
  • :e dir: 打开文件
  • w: 写保存
  • w!: 强行写保存
  • :set number设置行号

移动

  • h,j,k,l : ←, ↓, ↑, →
  • w/e, b: 前进,后退一个word
  • 0: 移动到行首
  • ^: 移动光标到该行第一个word
  • $: 移动光标到该行最后一个word
  • gg 光标移到文件开始
  • G 光标移到文件末尾
  • :[LINE NUM]: 移动到NUM对应得行

复制粘贴

在Visual模式下:

  • yy复制光标所在行
  • 2yy复制2行数据
  • yw复制光标所在字符
  • p在光标的位置粘贴内容

撤销

  • u 撤销上一次修改
  • U 撤销所有修改

删除

  • d + w 删除当前词
  • d + (number) + w 删除光标开始出number个词
  • ddshift+d 删除当前行
  • 5dd删掉5行数据
  • dt+(word)删除光标到word之间的字符
  • x 删除光标位置的字符
  • X 删除光标前一个位置的字符

进入编辑模式

  • s 在光标处,删除一个词,并 进入编辑模式
  • a 在光标的下一个位置进入编辑模式
  • o 在光标处开启下一行进入编辑模式

重复上次的命令

  • .

搜索

  • Visual模式下:/+ 关键字,向后搜索
  • Visual模式下:?+ 关键字,向前搜索
  • n下一条搜索结果, N前一条搜索结果

查找并批量替换

  • 使用sed
  • 默认对当前行查找

文件内定位

  • :set number显示出行号
  • G跳转到最后一行
  • xG跳转到第x行
  • ctrl-d先下滚动半屏
  • ctrl-u向上滚动半屏

屏幕内定位

  • H跳到屏幕开始的位置
  • M跳到屏幕中间位置
  • L跳到屏幕最后的位置

参考资料