通过数字与点可以重复指令
- 数字 + operation + 动作(范围)
- operation + 数字 + 动作(范围)
让我们来看一个 demo 来看看如何使用!
需求:删除前 3 个单词
export function helloWorld() {}
你可以很快想出来,敲击 3 次 dw
即可删除,那么更简单的方式就是:直接 d3w
,来试试吧!
练习场:
export function helloWorld() {}
所以你肯定明白了,数字的作用就是命令重复的次数,所以你就可以想出来下面的例子:
5j
向下移动 5 次2fop
查找第二个 op 开头的单词
有连贯的操作历史记录,会将 3 次视为一次操作,在使用 u
撤销时,可以一次撤销 N 次
需要一个思考的时间,在很多场景下,我们并不知道需要几个数字,所以数字的方式,不是很推荐是使用
做了更新操作:
- 增加
- 删除
- 修改
离开插入模式前的全部按键操作都有记录
接下来让我们来通过一个 demo 看看如何使用吧!
需求:打出 xml 并重复 5 次
xmlxmlxmlxmlxml
- 进入插入模式,敲击
xml
- 退出插入模式,敲击
.
,就可重复插入模式中的按键。这种操作,就有点像录制宏指令,而.
就是触发宏指令的方式
值得注意的是,所有会对文本进行操作的指令都会被记录,例如在 normal 模式下的 x
,删除某个字符,同样可以通过 .
在之前,我们想要删除一个单词,但是此时光标在这个的单词的尾部,有下面的方式可以删除:
bde
: 先回到单词的开头,再删除到单词的尾部dbx
: 反向删除到开头,留下一个再 xdiw
: di 进行删除模式,w 删除一个单词(推荐)因为只有这个指令可以被.
完整记录
再比如,有了宏指令录制,我们还可以做很多事情:
A;
: 给一行的尾部加分号, 敲击,退出插入模式,然后再敲击.
就可以插入分号了diwword
: 给某个单词替换为 word
- 能够重复就不要使用数字