gpt4 book ai didi

vim - 在 Vim 中用递增的值搜索和替换

转载 作者:行者123 更新时间:2023-12-03 10:19:16 25 4
gpt4 key购买 nike

假设我写了一个简单的 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 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将 backround 的 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 中记录的宏还有八次。

    关于vim - 在 Vim 中用递增的值搜索和替换,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4951533/

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