当我对某种模式进行交互式搜索时,每次我点击 n
,我得到下一个结果。如何删除/更改我得到的每个结果?
理想情况下,我正在寻找的是这样的:我点击 n
得到搜索结果,然后magic command
在视觉模式下突出显示该结果,然后我可以做 d
或 c
删除或更改突出显示的文本。
示例 :
我输入命令
/hello .
它匹配
hello
、一个空格和它后面的任何字符。所以说它到达的第一场比赛是“你好w”。
现在,我想删除所有
hello w
,搜索下一个匹配项(假设它是 hello a
),将下一个匹配项更改为 hello there
,并继续对每场比赛做不同的事情。我不只是寻找搜索和替换,因为我希望能够以交互方式对每个结果执行任何操作,例如删除第一个结果,将第二个结果替换为
bye
,并将第三个结果替换为 later
.
最佳答案
要选择当前比赛的整个比赛(如果您在比赛开始时),您可以键入
v//e
删除到比赛结束
d//e
改变比赛
c//e
唯一的缺点是您不能使用
n
(因为这将重做 //e
)而必须使用 //
所以典型的工作流程看起来像这样
/hello ./ : Jump to the start of the next "hello ."
d//e : Delete the item
// : repeat the search to get to the begining of the next "hello ."
c//e : change it
// : next one.
etc.
关于search - 在 Vim 中删除/更改搜索到的文本,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3984229/