search - 在 Vim 中删除/更改搜索到的文本

标签 search vim keyboard-shortcuts replace

当我对某种模式进行交互式搜索时,每次我点击 n ,我得到下一个结果。如何删除/更改我得到的每个结果?

理想情况下,我正在寻找的是这样的:我点击 n得到搜索结果,然后magic command在视觉模式下突出显示该结果,然后我可以做 dc删除或更改突出显示的文本。

示例 :

我输入命令

/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/

相关文章:

c++ - 计算间隔内值数量的更有效方法?

使用 utf-8 编码的主题进行 Python IMAP 搜索

java - 如何在java中定义应用程序的快捷键

ubuntu - 当 ctrl-alt-F 停止工作时,如何让 x2go 退出全屏模式?

visual-studio - 使用简单的键盘快捷键进行 Visual Studio 注释和取消注释

php - 如何在php中获取内部数组元素的最大值

android - 如何模糊搜索对话框的背景?

vim - gVim 窗口;如何让 h 和 l 越过换行符

vim - 如何在 VIM 中设置条件映射(即 : depending on the extension of a file)?

python - vim8 : update PYTHONPATH in vimrc only