Vim搜索模式,如果发生删除到行尾

时间:2009-02-20 11:45:39

标签: regex vim

我正在尝试搜索某个模式的文本文件。如果出现这种模式,则意味着不需要该行的其余部分,因此可以将其删除。

我尝试使用以下命令,但到目前为止都没有成功。

:%s/{pattern}/d$

:g/{pattern}/d$

如果有人有任何建议,我们将不胜感激

4 个答案:

答案 0 :(得分:58)

:%s/{pattern}.*//工作吗?

答案 1 :(得分:32)

或者,以下也适用

:g/{pattern}/normal nd$

对于你想要的,我会按照mirod的建议去做。我发布的内容更灵活,在类似的情况下可能派上用场。

说明:

在模式匹配的每一行上,执行以下正常模式命令'nd $'。当光标位于行的开头时,'n'跳转到模式,'d $'删除到行的末尾。

答案 2 :(得分:3)

要使用正则表达式通配符.*

替换模式和其他任何内容
:1,$s/pattern.*//g

答案 3 :(得分:-1)

%s/\\(replay-pattern-later\\) pattern2/\1/gc

这将重放pattern1但消除pattern2。使用“/ gc”全局应用(继续)并提示每次出现。