我正在研究nand2tetris,我最终得到了很多文件,最终看起来像这样:
Bit(in=in[0], load=load, out=out[0]);
Bit(in=in[1], load=load, out=out]1]);
...
Bit(in=in[15], load=load, out=out[15]);
Run Code Online (Sandbox Code Playgroud)
所以我一直在第一行,然后使用15p,然后做:s/0/i/g15次(i我需要的索引在哪里).我注意到我可以替换它:s/\[\d\]/\[i\]/g,但即使在这里我手动设置i每次运行命令的值.是否有一个命令我可以运行,以便i自动计算\d+1,我可以重复每行的命令,而无需手动指定值?
一种方法是使用Vim宏.
概观
复制该行然后粘贴该行.增加两个数字.
宏
qqyyp<c-a>l<c-a>q
Run Code Online (Sandbox Code Playgroud)
请注意,这会将宏保存到寄存器中q.
通过执行宏@q或通过一起执行14@q.
有关更多帮助请参阅:
:h q
:h ctrl-a
Run Code Online (Sandbox Code Playgroud)