假设我写了一个简单的 CSS 规则,如下所示:
.star_10 {
background: url(stars.png) no-repeat 0 0;
}
而我需要10个,所以我复制了9次。
.star_10 {
background: url(stars.png) no-repeat 0 0;
}
.star_10 {
background: url(stars.png) no-repeat 0 0;
}
.star_10 {
background: url(stars.png) no-repeat 0 0;
}
.star_10 {
background: url(stars.png) no-repeat 0 0;
}
.star_10 {
background: url(stars.png) no-repeat 0 0;
}
etc.
现在我想改变star_10 and 0 0值递增,因此看起来像这样:
.star_10 {
background: url(stars.png) no-repeat 0 0;
}
.star_9 {
background: url(stars.png) no-repeat 0 -18px;
}
.star_8 {
background: url(stars.png) no-repeat 0 -36px;
}
.star_7 {
background: url(stars.png) no-repeat 0 -54px;
}
等等...
那么我如何搜索/替换每个实例,进行计算并编写它呢?
您可以使用宏轻松完成此操作。假设你只有这个:
.star_10 {
background: url(stars.png) no-repeat 0 0;
}
将光标放在第一个点上(在.star10
) 并在正常模式下键入以下内容:
qa3yy3jp^Xjt;18^Xk0q
解释:
-
qa
将在寄存器“a”中开始宏录制。
-
3yy
将复制(复制)以下 3 行。
-
3j
会将光标置于下方 3 行。
-
p
将粘贴过去拉出的文本。
-
^X
(ctrl+x) 将减少星级编号。
-
j
会将光标移至下一行。
-
t;
会将光标置于下一个之前;
在当前行中。
-
18^X
将背景的 y 坐标减少 18;
-
k
会将光标放在一行上,
-
0
会将光标置于行首。
-
q
将完成宏录制。
之后,你可能会遇到这样的事情。
.star_10 {
background: url(stars.png) no-repeat 0 0;
}
.star_9 {
background: url(stars.png) no-repeat 0 -18;
}
就是这样。只需将光标放在 .star_9 上的点上,然后按8@a
执行寄存器中记录的宏a
还有八次。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)