Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/perl/11.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Perl Vim ex知道之前键入的编号_Perl_Vim_Shortcut_Ex - Fatal编程技术网

Perl Vim ex知道之前键入的编号

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//^#//

我正在做一个快捷方式,在每行的前面,在接下来的x行中放置一个#。x是我在输入快捷方式之前键入的数字,就像键入
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