如何在Vim ex命令脚本中生成循环
考虑以下Vim ex命令如何在Vim ex命令脚本中生成循环,vim,Vim,考虑以下Vim ex命令 :let i=1 | '<,'>g/^/ s/^\ *-/\=i/ | let i+=1 :让i=1 |’这是:全局命令的一般模式: :g/foo/command 因为第二个分隔符之后的所有内容都被视为一个命令,所以每次执行该命令时,计数器都会递增:每个匹配行一次。全局命令的模式是: :range g[lobal][!]/pattern/cmd 全局命令的工作方式是首先扫描行的[范围],并标记匹配发生的每一行。在第二次扫描中,[cmd]对每个标记行执行
:let i=1 | '<,'>g/^/ s/^\ *-/\=i/ | let i+=1
:让i=1 |’这是:全局
命令的一般模式:
:g/foo/command
因为第二个分隔符之后的所有内容都被视为一个命令,所以每次执行该命令时,计数器都会递增:每个匹配行一次。全局命令的模式是:
:range g[lobal][!]/pattern/cmd
全局命令的工作方式是首先扫描行的[范围],并标记匹配发生的每一行。在第二次扫描中,[cmd]对每个标记行执行,并在其行号前加上前缀。如果行被更改或删除,其标记将消失。[range]的默认值是整个文件。(有关更多详细信息,请参阅)
现在我们来分析一下
:let i=1 | '<,'>g/^/ s/^\ *-/\=i/ | let i+=1
:让i=1 |'“第二个分隔符之后的所有内容都被视为一个命令。”这很有趣!感谢您回答@romainl:DIs有没有办法将其他字符设置为\=i
?看来这对我不起作用。例如,:let i=1 |“我建议:help sub replace expression
获取有关\=i
的信息,因为:help:s\=
当前指向您。@Jake0x32 use:let i=1 |“非常感谢!你的详细解释帮助我编造了一个不需要可视化的递增数字替换