VIM 中的重复操作与高效率
Vim 会记录最近执行的操作,对重复性操作进行了优化,让我们用一次按键就能重复上次的工作,这是我认为Vim被称为高效率编辑器的重要原因之一 (Edit Text at the speed of thought)。
-
如vim重复操作命令所介绍,Vim普通模式下的
.命令可以用于重复上次的修改,这里提到的修改对象可以是字符、整行,甚至是整个文件,按u回退操作。 -
.命令不会重复由 Vim 命令行中做出的修改,若需要重复执行上次的 Ex 命令只需按@:即可。@:命令其实是用到了:寄存器,:寄存器总是保存着最后执行的命令行命令 (参见:h quote_:)。 -
在运行过一次
@:后可以用@@命令来重复执行上次的 Ex 命令,但无直接的回退方式。 -
普通模式下可以使用命令
&重新执行上次的Vim替换操作:substitute,按u回退操作。 -
Vim普通模式下的
;命令会正向重复查找上次f命令所查找字符,按,回退光标位置。 -
Vim普通模式下的
n命令在Vim缓冲区中重复查找下一处匹配项,按N回退光标位置。 -
Vim宏可通过录制操作序列到某个Vim寄存器 a 中,然后使用命令
@a回放录制的宏,实现重复操作一系列修改,用@@重复最近调用过的宏,按u回退操作。
-
gv命令可以用于重选上一次由可视化模式选择的文本范围,按Esc退出可视化模式。 -
很多Vim
Ex命令(即Vim命令行命令)可以用行号、位置标记或是查找模式来指定要执行操作的开始位置及结束位置,实现一条命令同时操作多行。 -
Vim命令行命令
global允许在某个指定模式的所有匹配行上运行 Ex 命令,而normal命令允许在Vim命令行模式下对指定范围内的每行执行普通模式下的操作,均可用于高效完成Vim下的重复操作,更多内容可以参看Vim global命令和重复操作 以及 Vim normal命令。
本作品采用《CC 协议》,转载必须注明作者和本文链接
关于 LearnKu
推荐文章: