偶尔使用vim会有一段代码在我想要完全删除的文件中多次出现。
采取以下措施:
我突出了有问题的代码块。现在我可以使用替换并逃脱所有标记,但那会很疯狂。有没有一种有效的方法来在vim中删除这样的代码块? (我知道如果我正确地做DRY,我可能不会遇到这个问题,但我并不总是编辑我自己的代码)
答案 0 :(得分:5)
在这种情况下使用标记文本对象:
dat
要删除所有出现的标记,您可以同时使用:global
和:normal
命令。例如:
:g/pat/normal dat
了解更多信息:
:h at
:h text-objects
:h :g
:h :norm
答案 1 :(得分:2)
在一般情况下(超出给定的例子):
或者,在步骤3之后,删除所有出现的搜索文本::s/
Ctrl-r / //g
。
在具体情况下,我会这样做:
<div class="caption">
。手动逐步执行结果(使用 n )可以确保在执行此操作之前确实要删除当前匹配(使用。)。
答案 2 :(得分:1)
像SearchHighlighting plugin这样的插件提供了可视模式映射来搜索当前选择的文本(还有更多此类插件;插件页面包含指向其他插件的链接。)
然后,使用:substitute
删除所有匹配,或者最近的Vim(7.4)版本提供gn
命令,该命令将搜索/操作下一个匹配项最后使用的搜索模式。总之,您将获得以下工作流程:
at
文本对象非常方便:vat
*
%s///
或:dgn