使用单个命令在Vim中编辑同一列的多行?

时间:2014-03-13 09:00:00

标签: vim command edit multiple-columns lines

有没有办法使用单个命令编辑(添加/删除字符)Vim中同一列的多行?

例如,

Sky can be white
Sky can be black
Sky can be red
Sky can be purple
Sky can be green
Sky can be yellow
Sky can be blue

如果我们想要添加字符串"不是"在2到6的所有行的第8列中,使用单个命令,如下所示,我们如何在不使用Visual Block(Ctrl-v)的情况下执行此操作?

Sky can be white
Sky cannot be black
Sky cannot be red
Sky cannot be purple
Sky cannot be green
Sky cannot be yellow
Sky can be blue

1 个答案:

答案 0 :(得分:1)

我想到了两个解决方案:

:2,6norm eeanot<CR>

我们使用:norm[al]在第2行到第6行执行正常模式命令eeanot

:2,6s/can/&not<CR>

我们在第2到第6行上运行经典替换。在替换部分中,&表示匹配的文字,因此我们不必在can之前重复not