【发布时间】:2010-09-01 15:14:19
【问题描述】:
我在 vim 中有一个单行,我经常用它来查找和替换。
我现在想用它来删除标签 - 像这样,但我看起来需要转义 / 我不确定我错过了什么。
:%s~<Validator>*</Validator>~~g
【问题讨论】:
我在 vim 中有一个单行,我经常用它来查找和替换。
我现在想用它来删除标签 - 像这样,但我看起来需要转义 / 我不确定我错过了什么。
:%s~<Validator>*</Validator>~~g
【问题讨论】:
:%s~<Validator>.*</Validator>~~g
成功了
【讨论】:
只是推翻了该主题,无法删除多行的内容。这是我想出的:
输入:
<Validator>
<!-- hello world -->
</Validator>
Vim 搜索替换:
%s~<Validator>\_.\{-}<\/Validator>~~g
以下 vim wiki 帮助我找到正确的语法:https://vim.fandom.com/wiki/Search_across_multiple_lines
【讨论】:
使用 awk。
awk -vRS="</Validator>" '{gsub(/<Validator>.*/,"") }1' file
以上内容从一个标签到另一个标签删除,即使它们跨越多行。
【讨论】: