首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >如何在Vim中对多行重复编辑?

如何在Vim中对多行重复编辑?
EN

Stack Overflow用户
提问于 2008-12-10 12:39:15
回答 5查看 106.1K关注 0票数 137

我知道,在Vim中,我经常可以通过在命令前面添加一个数字来重复该命令。例如,可以通过以下方式删除5行:

代码语言:javascript
复制
5dd

例如,通常还可以指定要应用命令的行的范围

代码语言:javascript
复制
:10,20s:hello:goodbye:gc

如何执行“垂直编辑”?例如,我想在给定范围内的每一行的乞求(跳过空格,即在命令模式下的Shift-I后键入逗号会得到什么)处插入一个特定的符号,比如一个逗号。如何才能做到这一点(而不是求助于down-period-down-period-down-period)?

EN

回答 5

Stack Overflow用户

回答已采纳

发布于 2008-12-10 12:45:08

:10,20s/^/,/

或者使用宏,使用以下命令进行录制:

q a i , ESC j h q

与以下各项配合使用:

@ a

说明:q a开始录制宏以注册aq结束录制。为此,可使用寄存器az

票数 116
EN

Stack Overflow用户

发布于 2011-11-09 19:53:09

如果您已经在使用'.‘重复你的最后一个命令很多,然后我发现this是目前为止最方便的解决方案。它允许您在可视块的每一行上重复上一条命令,方法是使用

代码语言:javascript
复制
" allow the . to execute once for each line of a visual selection
vnoremap . :normal .<CR>
票数 49
EN

Stack Overflow用户

发布于 2008-12-10 12:45:20

我认为最简单的方法就是录制一个宏,然后想重复多少次就重复多少次。例如,要在每一行的开头添加一个逗号,请键入:

代码语言:javascript
复制
q a I , ESC j q

要重复这5次,您可以输入

代码语言:javascript
复制
5 @ a
票数 17
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/355907

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档