如果我有以下代码,其中点(。)是空格,
....def foobar():
........foo = x
........bar = y
如何让Vim在每行的同一列中插入一个磅(#)和一个空格,如下所示:
....#.def foobar():
....#.....foo = x
....#.....bar = y
我知道我可以按^ v进入列插入模式然后我可以点击" j"键两次以选择同一列中的以下两行,但我读过的所有文章都说你应该点击"我"键进入插入模式。但是,当我这样做时,我只进入第一行的插入模式,而不是所有三行。我错过了什么?顺便说一下,我不想计算空格并做一个替换命令。我知道我能做到。必须有一个更简单的方法。
感谢。
答案 0 :(得分:0)
:1-3s/^.../^...#./
从第1行到第3行(根据你自己的目的进行调整),将行开头的三个空格替换为(s命令)三个空格,一个#和一个额外的空格。
答案 1 :(得分:0)
你在那里尝试的每一个命令都会修改实际的行,或者一组执行命令的行(如其他答案所示)。
另一种方式可能是替代,例如:
:map z / .... M4s ......#[
(M是CTRL-V M来表示输入,[是CTRL-V Escape,以结束替换)
映射'z'后,您可以在所需的每一行按'z'。