gpt4 book ai didi

vim - 在 Vim 中仅查找和替换单行的一部分

转载 作者:行者123 更新时间:2023-12-04 13:26:34 27 4
gpt4 key购买 nike

vim 中的大多数替换命令对整行或一组行执行操作,但我只想在行的一部分(从光标到行尾或设置标记之间)执行此操作。

例子

this_is_a_sentence_that_has_underscores = this_is_a_sentence_that_should_not_have_underscores

进入
this_is_a_sentence_that_has_underscores = this is a sentence that should not have underscores

这个任务对于全线很容易做 :s/_/ /g ,但似乎更难仅替换 = 之后的任何内容。 .

可以 :substitution在一行的一半上执行操作?

最佳答案

我能想到的两种解决方案。

选项一,使用 before/after 列匹配原子 \%>123c\%<456c

在您的示例中,以下命令仅在第 42 列和第 94 列之间的第二个单词中替换下划线:

:s/\%>42c_\%<94c/ /g

选项二,使用可视区域匹配原子 \%V

在您的示例中,可视化选择第二个长字,离开可视化模式,然后执行以下替换:
:s/\%V_/ /g

这些正则表达式原子分别记录在 :h /\%c :h /\%V 中。

关于vim - 在 Vim 中仅查找和替换单行的一部分,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34599286/

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