VI编辑器

Memory

546字约2分钟

2024-04-29

移动光标

  • h:左移一个字符
  • l:右移一个字符
  • j:下移一行
  • k:上移一行
  • w:移动到下一个单词的开头
  • e:移动到当前单词的结尾
  • b:移动到当前单词的开头
  • 0(数字零):移动到行首
  • $:移动到行尾
  • H:移动到屏幕顶部
  • M:移动到屏幕中央
  • L:移动到屏幕底部

插入和删除

  • i:在光标前插入文本
  • a:在光标后插入文本
  • o:在当前行下插入新行
  • x:删除光标处的字符
  • dd:删除整行
  • dw:删除从当前位置到单词尾部的字符
  • db:删除从当前位置到单词开头的字符

复制和粘贴

  • yy:复制整行 (只在vi编辑器的范围内)
  • p:(小写)粘贴到光标后
  • P:(大写)粘贴到光标前

撤销和重做

  • u:撤销最后一次修改(可以一直撤销
  • ctrl + r:重做撤销的修改

提示

比方说输入了 "abc",按下 u 时会撤销这次输入(相当于 ctrl + z)。

但是这时按下 ctrl + r 组合键,会把 "abc" 重新补充到那个位置上(相当于 ctrl + y)。

查找和替换

  • /:输入 / 后,再输入关键字,会从光标开始处向文件尾搜索关键字
  • ?:输入 ? 后,再输入关键字,会从光标开始处向文件头搜索关键字
      1. 按下 n 键,编辑器会继续向下搜索并将光标移动到下一个匹配项。
      1. 按下 N 键,编辑器会改为向上搜索。

  • :%s/old/new/g:搜索整个文件,将所有的old替换为new
  • :%s/old/new/gc:搜索整个文件,将所有的old替换为new,每次替换前都会询问确认

保存和退出

  • :w:将缓冲区写入文件(保存文件
  • :wq:保存并退出( :w:q 的组合
  • :q!:不保存并退出
  • :e!:放弃所有修改,从上次保存开始处再编辑