加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 综合聚焦 > 服务器 > 安全 > 正文

使用Vim中的递增值搜索并替换

发布时间:2020-12-15 19:35:19 所属栏目:安全 来源:网络整理
导读:让我说我写了一个简单的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
让我说我写了一个简单的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;
}

等等

现在我想用增加的值来改变star_10和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将yank(复制)以下3行。
> 3j将光标3向下放。
> p将粘贴过去的yanked文本。
> ^ 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执行多次记录的宏。

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读