Search for selection in Vim

在编写 C + + 时,我使用 Visual Studio 的 Vim 和 Vim 插件。通常,我发现自己想要在函数中搜索字符串,例如每次调用 object->public_member.memberfunc()

我知道 Vim 提供了一种搜索单个单词的方便方法,按 *#,它还可以使用无处不在的斜杠 /命令搜索类型化字符串。当试图搜索像上面这样的较长字符串的所有实例时,在 /之后重新键入需要一段时间。

有没有办法搜索选择?例如,用 v突出显示,然后用 y复制,有没有办法在 /之后粘贴?有捷径吗?

26890 次浏览

Check this Vim tip: Search for visually selected text

Or you can simply yank the selected text with y and go to search mode /, then you can paste the last yanked text with Ctrl + R0

使用 q /而不仅仅是 /。(与 q :相同)。现在您可以通过您的命令和搜索历史记录 VIM 编辑!(偶尔试试 Ctrl-N 和 Ctrl-P)。

Answer

  1. 拉出要搜索的文本
  2. q/p
  3. Enter

解释

q/的工作原理与普通搜索 /类似,只不过你处于命令模式,所以 p实际上是“粘贴”而不是键入字符 p。所以上面的代码会复制你正在搜索的文本并粘贴到搜索结果中。

有关详细信息,请输入 :help q/

你可以直观地选择文本,然后按下 * 和 # 来搜索下一次出现的事件... ... 它的工作原理是一样的,唯一的警告是:

在搜索时,选区中的空白匹配任何空白(搜索“ hello world”也会在一行的末尾找到“ hello”,在下一行的开头找到“ world”)。

Http://vim.wikia.com/wiki/search_for_visually_selected_text

我刚刚了解到(通过优秀的书 Practical Vim) ,有一个插件为此。 你可以找到 GitHub 的插件

这个插件可以让你用 *#搜索视觉选择。