1 移动命令

1.1 行间搜索移动

  • f${char} 移动到 char 字符的第一个字母上
  • t${char} 移动到 char 字符的第一个字母前面

  • ’;’ 配合 f 和 t 搜索该行的下一个

  • ’,’ 配合 f 和 t 搜索该行的上一个

1.2 单词间的移动命令

  • w 移动到下一个单词的开头,特殊符号也视为单词
  • W 移动到下一个单词的开头,特殊符号不视为单词
  • e 移动到下一个单词的结尾,特殊符号也视为单词
  • E 移动到下一个单词的结尾,特殊符号不视为单词
  • b 移动到上一个单词的开头,特殊符号也视为单词
  • B 移动到上一个单词的开头,特殊符号不视为单词

1.3 水平移动

  • 0 移动到本行的第一个字符
  • ^ 移动到本行的第一个非空白字符
  • $ 移动到行尾
  • g_ 移动到行尾的非空白字符

1.4 垂直移动

  • ( 上一个句子
  • ) 下一个句子
  • { 上一个段落
  • } 下一个段落

1.5 页面移动

  • gg 移动到文件的开头
  • G 移动到文件的结尾
  • ctrl + o 可快速返回

  • H 跳转到屏幕的开头

  • M 跳转到屏幕的中间

  • L 跳转到屏幕的结尾

  • zz 将光标处置为屏幕中间

  • ctrl + u 翻到上一页 (upword)

  • ctrl + f 翻到下一页 (forword)

2 编辑命令

  • x 删除光标所在位置的字符
  • daw 删除光标所在位置的单词 (delete a word)
  • dt + ${char} 删除从光标到该行的 ${char} 字符处
  • r 替换光标所在位置的字符
  • s 替换光标所在位置的字符,然后进入 insert 模式
  • R 一直替换光标所在位置的字符,直到退出替换模式
  • S 替换光标所在位置的单词,然后进入 insert 模式
  • ctrl + h 删除当前光标左边的字符,linux 系统通用

2.1 进入 insert 模式

  • a 在当前光标右边添加文本
  • A 在当前行末尾添加文本
  • i 在当前光标左边添加文本
  • I 在当前行首添加文本
  • o 在当前行的下一行添加文本
  • O 在当前行的上一行添加文本

3 设置行号

  • :set nu 显示行号
  • :set nonu 取消显示行号

4 搜索

  • n 向下搜索
  • N 向上搜索