有谁知道如何删除:
(突出显示的文字(搜索后的p.e。)未选择文字)
是否有搜索所有突出显示文本并删除该行的命令? (独立于我用来突出显示文本的搜索命令或功能)
g/pattern/d
命令并不总是删除突出显示的文本
体育/^\(.*\)\(\n\1\)\+$
- >突出显示所有双线
但是g/^\(.*\)\(\n\1\)\+$/d
- >不会删除所有双行
答案 0 :(得分:12)
好吧,你可以这样删除搜索到的模式:
:%s/<pattern>//gc
您可以通过以下方式删除搜索模式的整行:
:g/<pattern>/d
答案 1 :(得分:3)
如何删除:2)所有突出显示的文字自我
您可以使用搜索和替换(替代)来执行此操作。
通常使用如下:
:%s/your_search_here/your_replacement_here/gc
更具体地说,替换您的搜索结果(删除它们):
:%s/your_search_here//gc
在结尾处省略c
以替换所有内容而无需确认。
输入:help :s
了解详情。
如何删除:1)带有突出显示文字的行
要删除整行,您可以执行替换,只需将整行与正则表达式(%s/^.*your_search_here.*\n//g
)匹配,或者可以使用多次重复(多次重复)功能。
通常使用如下:
:g/your_search_here/[cmd]
更具体地说,将它与用于删除行(d
)的常规命令相结合:
:g/your_search_here/d
输入:help :g
了解详情。
<强>提示强>:
在替换之前获得正确查询的简单方法是在命令模式而不是默认模式下进行搜索。
而不是:
/your_search_here
类型:
:/your_search_here
然后你可以进入命令模式(:
),点击向上键以显示你的上一次搜索,并编辑该行以将其转换为替代。
答案 2 :(得分:3)
<pattern>
的行,键入:g!/<pattern>/d
或:v/<pattern>/g
<pattern>
之后输入:g/
,请键入:g/
CTRL - r //d
搜索寄存器的内容( CTRL - r /
表示在您输入的命令中注册/
}。答案 3 :(得分:2)
您可以在7.4版及更高版本中使用
gn
(并向后使用gN
)。它取代了v//e
技巧。向前搜索最后使用的搜索模式,例如使用`n`,然后启动可视模式以选择匹配项。
有关更多信息,请参见
:help gn
或this Vimcast。
答案 4 :(得分:0)
我猜它与此基本相同的问题: Vim: when matching string across multiple lines using \_. in regex, yank command only works for the first line
它看起来像是Vim中的一个错误。