题
我正在做一个将#放在每行前面的快捷方式,接下来 X 线。 X 输入快捷方式之前是我类型的数字,就像键入 11dd
删除下一条线。
命令是 .,+10 s/^/#/g
. 。在这里,第十个实际上应该是快捷方式之前输入的内容。如何根据之前键入的数字进行快捷方式更改?
添加了一个问题,回答了:
因此,现在我在.vimrc中有以下内容:
nmap c1 :s/^/#/g<esc>``
nmap c0 :s/^#//g<esc>``
这使我可以输入 13ac
, , 加上 #
在接下来的13行的正面, 13dc
删除任何 #
在接下来的13行的前面。
比 =pod
和 =cut
因为它们在嵌套时会导致错误。
c1 =评论添加,
C0 =注释删除。
#用于Perl。
解决方案
在 ex
模式,您可以使用以下命令:
s/^/#/count
在哪里 count
是您要更改的行数。您不能将数字放在命令前,因为该号码用于选择起始行(如果省略了当前行)。因此:
5s/^/#/3
将在第5、6和7行之前添加一个“#”。
编辑
在 ex
模式您可以使用 map
命令创建与Colon命令的快捷方式,然后您可以将其与前缀编号一起使用:
map CC :s/^/#/g
现在您可以在 vi
将“#”预定到下一个模式 x
线。
不隶属于 StackOverflow