gpt4 book ai didi

Vim 转到下一个搜索结果并直观地选择它

转载 作者:行者123 更新时间:2023-12-02 18:11:44 25 4
gpt4 key购买 nike

如果我有像 points.length - 1 这样的代码表达式,那么经常会这样。我想用一个变量替换它(例如,命名为 target_idx 然后我将定义变量:

int target_idx = points.length - 1;

但现在我想去替换 points.length - 1 的所有实例与 target_idx .我知道我可以做 :%s/points.length - 1/target_idx/g , 但我对我的正则表达式不太自信,不想错误地替换 points.length - 11points+length - 1因为失误。 (我也知道非常神奇的搜索,但我对它所做/不考虑特殊字符的所有微妙之处也不是很有信心)

所以我想要的是能够搜索匹配 points.length - 1 的实例通过/points.length - 1然后使用 n 浏览搜索结果, 然后将文本替换为 target_idx .

但因为搜索的文本可能有空格或其他字符,所以我不能简单地更改到 Word 的末尾 cE因为这只会改变 points.length在我的示例中。

是否有文本移动到搜索文本的末尾?

所以我可以走了

  1. n
  2. c<special text motion here>
  3. target_idx
  4. 从 1 开始重复。

我使用的是安装了 CoC 的 neovim,所以我愿意接受更深入的插件或语言服务器替换的想法,但这感觉应该是一个我不知道的简单文本 Action 。

最佳答案

我猜你可以选择 gn(:help gn 了解详情)。 (gN 向后搜索。)

另一方面,您可以给 :s/…/…/ 标志 c 以便它要求您确认每个替换(:help :s_flags 了解详情)。


此外,您很可能会利用 . 一次击键完成第 2 步和第 3 步(:help . 了解详细信息)。在你的具体例子中,你会第一次这样做,

/points\.length - 1Entercf1target_idx转义

然后通过 n 继续进行下一场比赛,并通过 . 应用更改。

我上面提到的带有 c 标志的 :s 解决方案更快(你只需要按 y/n而不是 n/n..

关于Vim 转到下一个搜索结果并直观地选择它,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/72214183/

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