gpt4 book ai didi

vim - 如何在没有 python 或 ruby​​ 的情况下在 Vim 中获取计数器变量?

转载 作者:行者123 更新时间:2023-12-04 16:17:51 25 4
gpt4 key购买 nike

我没有启用 python/ruby。我的问题:我经常不得不写如下内容:

%macro(200701);x gzip /home/test/200701.txt;run;
%macro(200702);x gzip /home/test/200702.txt;run;
%macro(200703);x gzip /home/test/200703.txt;run;
%macro(200704);x gzip /home/test/200704.txt;run;
%macro(200705);x gzip /home/test/200705.txt;run;
%macro(200706);x gzip /home/test/200706.txt;run;
%macro(200707);x gzip /home/test/200707.txt;run;
%macro(200708);x gzip /home/test/200708.txt;run;
%macro(200709);x gzip /home/test/200709.txt;run;
%macro(200710);x gzip /home/test/200710.txt;run;
%macro(200711);x gzip /home/test/200711.txt;run;
%macro(200712);x gzip /home/test/200712.txt;run;

%macro(200801);x gzip /home/test/200801.txt;run;
%macro(200802);x gzip /home/test/200802.txt;run;
%macro(200803);x gzip /home/test/200803.txt;run;
%macro(200804);x gzip /home/test/200804.txt;run;
%macro(200805);x gzip /home/test/200805.txt;run;
%macro(200806);x gzip /home/test/200806.txt;run;
%macro(200807);x gzip /home/test/200807.txt;run;
%macro(200808);x gzip /home/test/200808.txt;run;
%macro(200809);x gzip /home/test/200809.txt;run;
%macro(200810);x gzip /home/test/200810.txt;run;
%macro(200811);x gzip /home/test/200811.txt;run;
%macro(200812);x gzip /home/test/200812.txt;run;

在 Vim 中有没有一种快速的方法可以做到这一点?

我通常会输入:
%macro(200701);x gzip /home/test/200701.txt;run;

然后发出以下命令:
yy11p10<up>13<right>r2<down>r3<down>r4<down>...

因此,换句话说,我将这一行再粘贴 11 次,然后使用“替换字符”命令遍历日期列表。然后我将复制整个块并在新块中输入
:s/2007/2008/<enter>12&11<up>12&

在第二个区块中用 2007 年代替 2008 年。

Vim 是如此强大,我认为必须有更好的方法,然后不断手动替换每一行上的 1 到 12。

最佳答案

写第一行:

%macro(200701);x gzip /home/test/200701.txt;run;

然后,当仍然在该行上时,进入命令模式并记录一个宏 a 复制该行( yyp ),递增第一个数字(ctrl-a,写为 ^A ),向右移动一个字符( l ),然后递增另一个号码:
qayyp^Al^Aq

(请注意,开始和停止宏录制发生在 q 。)现在播放宏 110 次:
110@a

关于vim - 如何在没有 python 或 ruby​​ 的情况下在 Vim 中获取计数器变量?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/895663/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com