Vim-逐个查找模式的出现

Vim-逐个查找模式的出现,vim,Vim,我希望能够找到一个模式的出现,突出显示它,转到模式的下一个出现,突出显示它,转到下一个出现,等等,最后删除所有出现并进入插入模式。例如,逐个查找所有出现的,最后将其全部删除,并进入插入模式以将其替换为。我希望逐个查看事件的原因是,我首先希望查看事件在代码中的位置,以便决定是否要删除它。例如,我有一些HTML,希望查看标记在某个代码块中的位置,以便决定是否要删除它们。我知道我可以做dw来剪切一个单词,或者cw来删除一个单词并进入插入模式。我知道我可以使用正则表达式,如:%s/my_patter/r

我希望能够找到一个模式的出现,突出显示它,转到模式的下一个出现,突出显示它,转到下一个出现,等等,最后删除所有出现并进入插入模式。例如,逐个查找所有出现的
,最后将其全部删除,并进入插入模式以将其替换为
。我希望逐个查看事件的原因是,我首先希望查看事件在代码中的位置,以便决定是否要删除它。例如,我有一些HTML,希望查看标记在某个代码块中的位置,以便决定是否要删除它们。我知道我可以做
dw
来剪切一个单词,或者
cw
来删除一个单词并进入插入模式。我知道我可以使用正则表达式,如
:%s/my_patter/replace_pattern/gc
,但这会删除整个文件中的所有事件,我不希望这样。我想首先迭代模式的每一次出现,如果我想删除它,就跳过它,然后再决定是否用其他内容替换它。这类似于在Sublime中选择一个单词并按ctrl+D,然后用一个按键对所有出现的内容执行更改

编辑

例如,我有这个代码,在这里我想将所有的
div
s替换为
p

<div class="form-group">
  <%= f.label :daily_hours, class: "col-sm-2 control-label" %>
  <%= f.text_field :daily_hours, class: "form-control" %>
</div>
<div class="form-group">
  <%= f.label :date, class: "col-sm-2 control-label" %>
  <%= f.date_field :date, class: "form-control" %>
</div>
<div class="form-group">
  <%= f.label :work_performed, class: "col-sm-2 control-label" %>
  <%= f.text_area :work_performed, class: "form-control" %>
</div>

我想你要找的命令是:

:%s/div/p/gc

其中,修饰符
g
允许您查找每行的多个
div
,而
c
允许您通过键入y或n确认是否进行更改。

我认为您要查找的命令是:

:%s/div/p/gc

其中,修饰符
g
允许您在每行查找
div
的多个实例,
c
允许您通过键入y或n来确认是否进行更改。

Vim只有
:用内置的
gc
标志替换
命令,如@thomass所示。然而,像这样的插件旨在重现多个匹配项的选择和随后的同步编辑。虽然它不是vi风格,但试着看看它是否适合您喜欢的编辑风格

Vim只有
:将
命令替换为内置的
gc
标志,如@thomass所示。然而,像这样的插件旨在重现多个匹配项的选择和随后的同步编辑。虽然它不是vi风格,但试着看看它是否适合您喜欢的编辑风格

首先按esc键,然后按/pattern键,然后按n键进入下一个按钮。@mamun这不是我所期望的。我希望能够一次删除所有要删除的事件。只需提供有关搜索和删除的提示:
gn
选择光标下的搜索,因此
gnd
gnc
可以帮助您而不是
dw
cw
。您确定@yolenoyer?我试过了,但对我来说不起作用me@jedi:是;如果您有此文件内容:
sometext
,请键入,即
/
+返回键:然后光标将移动到第一个匹配项(
中的单词
div
);然后键入
gnd
删除此内部标记(在正常模式下)。请看
:hgn
第一次按esc键,然后按/pattern键,然后按n键进入下一个。@mamun这不是我所期望的。我希望能够一次删除所有要删除的事件。只需提供有关搜索和删除的提示:
gn
选择光标下的搜索,因此
gnd
gnc
可以帮助您而不是
dw
cw
。您确定@yolenoyer?我试过了,但对我来说不起作用me@jedi:是;如果您有此文件内容:
sometext
,请键入,即
/
+返回键:然后光标将移动到第一个匹配项(
中的单词
div
);然后键入
gnd
删除此内部标记(在正常模式下)。请看
:hgn
是的,但我仍然需要逐个替换所有标签。我想立刻替换它们,就像在Supreme ctrl+D中一样。是的,但我仍然需要逐个替换所有标记。我想立即替换它们,就像在Supreme ctrl+D中一样。