gpt4 book ai didi

Vim:删除所有包含模式的行的字符

转载 作者:行者123 更新时间:2023-12-04 14:09:23 27 4
gpt4 key购买 nike

我正在学习 power of g并且想要删除包含表达式的所有行,直到句子的末尾(用句点标记)。像这样:
There was a little sheep. The sheep was black. There was another sheep.
(运行命令查找所有类似 There was 的句子并删除到下一个句点)。
The sheep was black.
我试过了:

  • :g/There was/d\/\.试图“向前删除直到下一个时期”,但我得到了 trailing characters错误。
  • :g/There was/df.但得到一个 df. is not an editor command error.

  • 有什么想法吗?

    最佳答案

    g 相关的操作必须能够在线上操作,而无需来自 g 的模式匹配的位置信息。暗示。在您使用的命令中,delete forward 命令需要一个未提供的起始位置。

    问题是g仅表示行匹配,而不是模式匹配的特定字符位置。我做了以下事情,它做了我认为你想要的:

    :g/There was/s/There was[^.]*[.]//

    这找到了与模式匹配的行 There was ,并执行了正则表达式 There was[^.]*[.] 的替换用空字符串。

    这相当于:
    :1,$s/There was[^.]*[.]//g

    我不确定是什么 g正在让您进入您的用例,除了自动应用到整个文件行范围(与 1,$% 相同)。 g在后一个示例中,与将替换应用于同一行上的所有模式有关,而不是与受替换命令影响的行范围有关。

    关于Vim:删除所有包含模式的行的字符,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11460663/

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