Perl Vim ex知道之前键入的编号
我正在做一个快捷方式,在每行的前面,在接下来的x行中放置一个#。x是我在输入快捷方式之前键入的数字,就像键入Perl Vim ex知道之前键入的编号,perl,vim,shortcut,ex,Perl,Vim,Shortcut,Ex,我正在做一个快捷方式,在每行的前面,在接下来的x行中放置一个#。x是我在输入快捷方式之前键入的数字,就像键入11dd删除接下来的十一行一样 命令是,+10s/^/#/g。这里的数字10应该是在快捷方式之前键入的任何内容。如何根据之前键入的号码更改快捷方式 在回答问题后添加: 现在我在.vimrc中有以下内容: nmap c1 :s/^/#/g<esc>`` nmap c0 :s/^#//g<esc>`` nmap c1:s/^/#/g`` nmap c0:s//^#//
11dd
删除接下来的十一行一样
命令是,+10s/^/#/g
。这里的数字10应该是在快捷方式之前键入的任何内容。如何根据之前键入的号码更改快捷方式
在回答问题后添加:
现在我在.vimrc中有以下内容:
nmap c1 :s/^/#/g<esc>``
nmap c0 :s/^#//g<esc>``
nmap c1:s/^/#/g``
nmap c0:s//^#//g``
它允许我键入13ac
,在接下来的13行前面添加
,并在13dc
删除接下来13行前面的任何
它比=pod
和=cut
更好,因为它们在嵌套时会导致错误。c1=评论添加,
c0=注释删除。
#在Perl中使用。
在
ex
模式下,您可以使用以下命令:
s/^/#/count
其中count
是要更改的行数。不能将数字放在命令之前,因为该数字用于选择起始行(如果省略,则为当前行)。因此:
将在第5、6和7行之前添加“#”
编辑
在ex
模式下,您可以使用map
命令创建冒号命令的快捷方式,然后可以将其与前缀号一起使用:
map CC :s/^/#/g
现在,您可以在
vi
模式下使用“xCC”将“#”前置到下一个x
行 但我的意思是,不是有某种ex/vimscript变量或者什么东西,每当键入一个数字时就会被填充?在某种程度上,当按下11dd时,vim知道在dd之前键入了什么。@Hermann Ingjaldson有一个v:count变量,但它适用于更复杂的情况。
map CC :s/^/#/g