【发布时间】:2011-11-02 04:14:19
【问题描述】:
我有一个包含以下行的文本文件:
options[15]=new Option("text1","25");
options[16]=new Option("text2","23");
options[17]=new Option("text3","12");
(还有更多……)
如何用 text# 替换每一行?例如,第一行应替换为 text1,第二行应替换为 text2,等等...
【问题讨论】:
我有一个包含以下行的文本文件:
options[15]=new Option("text1","25");
options[16]=new Option("text2","23");
options[17]=new Option("text3","12");
(还有更多……)
如何用 text# 替换每一行?例如,第一行应替换为 text1,第二行应替换为 text2,等等...
【问题讨论】:
阅读:h /\(
%s/\Voptions[\d\+]=new Option("\(text\d\+\)","\d\+");/\1/g
【讨论】:
看起来您已经在源中拥有它们。假设你有这样的行:
options[15]=new Option("text#","25");
...
而你想改成这样:
options[15]=new Option("text15","25");
...
这是你要做的: 将第一行更改为 text1 拉出“text1”
create a macro (qq)
/text
dw
p
ctrl+a
b
vwly
q
那么如果你有 25 行:做 23@q
23 次宏调用,因为您手动完成了前两次。
【讨论】:
作为:s 的替代品并使用宏,我有时会发现:normal 非常令人愉快。
%norm df"f"d$
我们可以缩短它,但使用; 运动,它将重复f" 运动并使用D,它与d$ 相同
%norm df";D
【讨论】: