我知道,在Vim中,我经常可以通过在命令前面添加一个数字来重复该命令。例如,可以通过以下方式删除5行:
5dd
例如,通常还可以指定要应用命令的行的范围
:10,20s:hello:goodbye:gc
如何执行“垂直编辑”?例如,我想在给定范围内的每一行的乞求(跳过空格,即在命令模式下的Shift-I后键入逗号会得到什么)处插入一个特定的符号,比如一个逗号。如何才能做到这一点(而不是求助于down-period-down-period-down-period)?
发布于 2008-12-10 12:45:08
:10,20s/^/,/
或者使用宏,使用以下命令进行录制:
q a i , ESC j h q
与以下各项配合使用:
@ a
说明:q a
开始录制宏以注册a
,q
结束录制。为此,可使用寄存器a
至z
。
发布于 2011-11-09 19:53:09
如果您已经在使用'.‘重复你的最后一个命令很多,然后我发现this是目前为止最方便的解决方案。它允许您在可视块的每一行上重复上一条命令,方法是使用
" allow the . to execute once for each line of a visual selection
vnoremap . :normal .<CR>
发布于 2008-12-10 12:45:20
我认为最简单的方法就是录制一个宏,然后想重复多少次就重复多少次。例如,要在每一行的开头添加一个逗号,请键入:
q a I , ESC j q
要重复这5次,您可以输入
5 @ a
https://stackoverflow.com/questions/355907
复制相似问题