Skip to content

Vim

模式

  1. 普通模式

打开文件时的默认模式,在其他模式Esc都可以返回此

  1. 插入模式

i/o/a键进入该模式,进行文本编辑操作,不同之处在于插入字符位置在光标前还是后

  1. 命令行模式

普通模式下输入:后会进入该模式,可输入命令,如 set number(set nu) 可显示行号

  1. 可视化模式

在普通模式下按v键会进入可视化模式。该模式下光标可选中文本进行复制、剪切、删除、粘贴等文本操作

  1. 替换模式

在普通模式下通过光标选中一个字符,然后r键,再输入一个字符,替换了原有字符

单个字符操作

  • k : 在1 下,k键,向上
  • j : 在1 下,j键,向下
  • h : 在1下,h键,向左
  • l : 在1下,l键,向右

单词操作

  • w 下个单词开头
  • b 上个单词开头
  • e 下个单词尾部
  • E 下个单词尾(忽略标点符号)
  • ge 上个单词尾部
  • 2w 指定光标两次移动到下下个单词开头

行操作

  • $ 当前行尾
  • 0 当前行首
  • ^ 当前行首个非空字符
  • 2| 当前行第二列
  • fx 第一个字符x上
    • 3fx 第三个字符x上
  • % 符号间的移动,在()、[]、{}之间跳跃

屏幕移动

  • nG 跳转到指定行
  • g+ g/G跳转到文件的开头/结尾(的行首)
  • L 移动到当前屏幕显示的文本末尾(的行首)
  • M 移动到当前屏幕显示的文本中间(的行首)
  • Ctrl + g 光标查看当前位置
  • Ctrl + u/d 光标向前/后滚动(+d不一定有效)
  • Ctrl + f/b 光标向前/后半屏滚动

文本的基本操作

  • i/a 在当前光标前/后插入字符
  • I/A 在当前光标所在的行的行首/行尾插入字符
  • o 在下一行插入
  • x 删除当前光标所在处的字符
  • X 删除当前光标左侧的字符
  • dw 删除一个单词
  • dd 删除一整行
  • 2dd 删除一整行及下一行
  • yw 复制一个单词
  • yy 复制光标所在整行
  • p 粘贴
  • J 删除一个分行符

文本查找于替换

  • /string 在1模式下输入 课正香向下查找字符串string
  • ?string 反向查找string
  • :set hls 高亮显示处的单词,敲击 n 浏览下一个
  • s/old/new 当前行的第一个替换old 为new
  • s/old/new/g 当前行的所有old 替换为new
  • %s/old/new/g 文本中的所有的字符串 old 替换为new
  • %s/^old/new/g 文本中所有的以old开头的字符串替换为new

文本的保存、退出

  • u 撤销上步操作
  • q 没有修改直接退出
  • q! 修改了放弃、退出
  • wq 保存退出
  • e! 若文件已修改,放弃修改,恢复打开时的状态
  • w! sudo tee% 在shell的普通用户下保存root读写权限的文件

更多查看Vim官网菜鸟教程



Vim之父Bram Moolenaar已于2023年8月 `:wq` , 愿其在天堂安好