map 可以将功能键映射为命令组合,不同模式不同含义

录制宏,重复工作自动化完成

一、正常模式(Normal-mode)

用户刚启动进入正常模式下,其他模式下按下Esc键/Control + [(更方便)进入再次正常模式。

  • r : 替换当前光标下字符。
  • R : 一直替换光标所在的文字,直到按下Esc键/Control + [ (常用)。

1. 移动光标

字符
  • h : 左。
  • l : 右。 # w更常用。
  • j : 下。
  • k : 上。
单词
  • w : 移至下一个单词的词首。
  • e : 移至当前或下一个单词的词尾。
  • b : 光标向前移动一个词。
行间
  • gg : 移至第一行。
  • G : 移至最后一行。
定位
  • fx :移动光标到当前行的下一个x处,x可以是任意一个字母,使用;来重复你的上一个f命令。
  • Fx :类似fx,反向。
  • tx :移动光标到当前行的下一个x处的左边一个位置。

2. 删除

  • x : 删除当前光标所在处的单个字符
  • dd : 删除当前光标所在处的行。
  • dw : 删除当前光标所在处的单词。
  • D : 删除到行尾的内容。

3. 复制

  • y命令 : 用法同删除d命令。

4. 粘贴

  • p : 粘贴到所在行的下一行或者所在字符的后面。
  • P : 粘贴到所在行的上一行或者所在字符的前面。

5. 撤消

  • u : 撤消前一次操作。
  • Control + r : 撤消最近一次撤消操作。

6. 翻屏

  • Control + u :向上翻半屏。
  • Control + d :向下翻半屏。
  • Control + f :向下翻一屏。
  • Control + b :向上翻一屏。

7. 正常模式转插入模式

  • i : 在所在光标前,进入插入模式下。
  • I : 在当前光标所在行的行首,进入插入模式。
  • a : 在所在光标后,进入插入模式下。
  • A : 在当前光标所在行的行尾,进入插入模式。
  • o : 在当前光标所在行的下面,新建一行,进入插入模式。
  • O : 在当前光标所在行的上面,新建一行,进入插入模式。
  • c : 如同命令d删除功能,但可以直接进入插入模式下,配合Visual模式和fx命令更佳。
  • ci( :删除()括号中的内容并直接进入插入模式下。
  • ci { :删除{}括号中的内容并直接进入插入模式下。

8. 正常模式转命令行模式

  • : : 进入命令行模式下。

9. 避免重复

  • . :重复上一个命令。如dw,之后按.再次删除一个单词。
  • 数字 + 命令 : 重复命令。

10. vim写代码

  • >> :缩进所有选择的代码。
  • << :反缩进所选择的代码。
  • gd :到达光标所在处函数或者变量的定义处。
  • * :跳转到下一个相同单词。

11. 历史命令

  • q: :进入历史命令。

二、插入模式(Insert-mode)

在正常模式下按下i键进入插入模式。

  • Control + n : 向下寻找匹配的关键字,显示出代码补全框后使用。(idea中同样适用)
  • Control + p : 向上寻找匹配的关键字。(idea中同样适用)

三、命令行模式(Command-mode)

  • q : 退出。
  • q! : 强制退出。
  • w : 保存。
  • wq : 保存并退出。

四、可视模式(Visual-mode)

  • v :按字符选择。
  • V :按行选择。多行拷贝。