如何快速向vim中的几行添加内容?
我试图摆脱我的箭头使用,但有一件事我还没有解决没有使用箭头键。举个例子:如何快速向vim中的几行添加内容?,vim,Vim,我试图摆脱我的箭头使用,但有一件事我还没有解决没有使用箭头键。举个例子: var1 = "1" var2 = "2" var3 = "3" var4 = "4" 现在我希望这是: var_1 = "1" var_2 = "2" var_3 = "3" var_4 = "4" 使用箭头,我只需转到var1,插入并添加下划线,然后向下箭头并执行相同的操作。使用hjkl的问题是我不能处于插入模式,所以我必须退出,向下移动,插入…重复冲洗,这需要更多的工作。还有其他方法可以做到这一点吗?有很多方法可
var1 = "1"
var2 = "2"
var3 = "3"
var4 = "4"
现在我希望这是:
var_1 = "1"
var_2 = "2"
var_3 = "3"
var_4 = "4"
使用箭头,我只需转到var1,插入并添加下划线,然后向下箭头并执行相同的操作。使用hjkl的问题是我不能处于插入模式,所以我必须退出,向下移动,插入…重复冲洗,这需要更多的工作。还有其他方法可以做到这一点吗?有很多方法可以做到这一点。使用移动命令,例如:
→ 转到第一行的开头1G0
→ 转到第一个出现的“1”f1
→ 插入“\”并返回正常模式i
→ 下一行并重复insert命令j.
→ 下一行并重复insert命令j.
:%s/var/var./
甚至可以使用可视块命令,如注释所示。您也可以使用可视块插入:
- 转到“var1”中的“1”
- 按
CTRL+V
- 使用
向下选择要影响的所有行j
(大写字母I)I
。
下划线现在应该插入到所有选定行的正确位置(由于某种原因,在我的机器上需要一秒钟时间)假设您位于第1行,字符1 使用宏:
qqfra_<Esc>+q3@q
9杆
[抱歉…太多了!]我倾向于选择:替换而不是视觉块模式
%s/var\zs\ze\d/_/
我总是打开行号,所以我会这样做
1,4 s/var/var_/
这类似于
% s/var/var_/
答案,但它只在命名行上起作用。如果您不喜欢在命令中键入范围(前缀
1,4
),可以使用可视模式标记行。这与编程有关吗?哦,骗子;-)。我可以看出这可能与编程无关(我将留给比我更聪明的人来决定),但我知道的是,这类问题是对典型的SO费用(“plz hw到maek I-PHONE MAC XCODe wwr0k on RsS thx”)的巨大改进。这是我将在我的书签中提出的问题,尽管它可能属于另一个SE站点…@David,@Jonathan:看,这就是我试图避免的…从insert中来回移动。@Ryan:你不能来回移动,只需按j.
(“j”后跟“.”)。试试看1G0f1i_j.j.j.
@Ryan:避免一次进入插入模式的唯一方法是使用ex命令:s
。每隔一种方式(视觉块、导航、宏等)都要求您访问一次。请尝试查看:h timeoutlen
以摆脱暂停退出vblock模式。
% s/var/var_/