Vim或Vi有多个范围命令吗?

时间:2017-10-29 15:04:50

标签: vim command vi macvim

我想在范围[a,b]和[c,d]或更多范围内做点什么。

例如,我想在1~10之间的行中用“def”替换“abc”,在50~60之间的行中替换。 我将在下面进行两个编辑操作:

(1):1,10s / abc / def / g

(2):50,60s / abc / def / g

我可以只用一个命令吗?

2 个答案:

答案 0 :(得分:6)

你不能有一个不连续的范围,但很容易在另一个范围内重复相同的替换:

:1,10s/abc/def/g|50,60&&

请参阅:help :&

答案 1 :(得分:0)

您可以使用multiselect.vim插件执行此操作。

:1,10MSAdd
:50,60MSAdd
:MSExecCmd s/abc/def/g