在 Vim 中搜索选择
我在编写 C++ 时使用 Vim 和 Visual Studio 的 Vim 插件。 通常,我发现自己想要在函数中搜索字符串,例如每次调用 object->public_member.memberfunc()
。
我知道 Vim 提供了一种搜索单个单词的便捷方法,只需按 *
和 #
,它还可以使用普遍存在的斜杠 / 搜索键入的字符串。
命令。 当尝试搜索像上面这样的较长字符串的所有实例时,在 /
之后重新键入需要一段时间。
有没有办法搜索选择? 比如用v
高亮,然后用y
复制,有没有办法在/
后面粘贴? 有更简单的捷径吗?
I use Vim and Vim plugins for Visual Studio when writing C++. Often, I find myself wanting to search for a string within a function, for example every call to object->public_member.memberfunc()
.
I know Vim offers a convenient way to search for a single word, by pressing *
and #
, and it can also search for typed strings using the ubiquitous slash /
command. When trying to search for all the instances of a longer string like the one above, it takes a while to re-type after /
.
Is there a way to search for the selection? For example, highlight with v
, then copy with y
, is there a way to paste after /
? Is there an easier shortcut?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(6)
检查这个 Vim 提示:搜索视觉上选择的文本
或者您可以简单地使用 y 并进入搜索模式/,然后您可以使用 Ctrl+R 0 粘贴最后一次复制的文本
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+R 0
回答
说明
< code>q/ 的工作方式与普通搜索
/
类似,只不过您处于命令模式,因此p
实际上是“粘贴”而不是键入字符p
。 因此,上面的内容将复制您正在搜索的文本并将其粘贴到搜索中。有关更多详细信息,请输入
:help q/
Answer
Explanation
q/
works similarly to vanilla search/
except you're in command mode sop
actually does "paste" instead of typing the characterp
. So the above will copy the text you're searching for and paste it into a search.For more details type
:help q/
使用q / 而不是仅仅/。 (与q:相同)。 现在您可以通过命令和搜索历史记录进行 VIM 编辑! (有时尝试 Ctrl-N 和 Ctrl-P)。
Use q / instead of just /. (Same with q :). Now you can VIM-edit through your command and search history! (Try Ctrl-N and Ctrl-P sometime).
我刚刚了解到(通过优秀的《Practical Vim》一书)有一个插件可以实现这一点。
您可以在 GitHub 上找到该插件。
该插件允许您使用
*
和#
搜索视觉选择。I just learned (through the excellent book Practical Vim) that there is a plugin for that.
You can find the plugin on GitHub.
The plugin lets you search for a visual selection with
*
and#
.实际上,您可以直观地选择文本,然后按 * 和 # 搜索下一个匹配项...它的工作原理相同,唯一的警告是:
http://vim.wikia.com/wiki/Search_for_visually_selected_text
You can actually select text visually and press * and # to search for the next occurrence... It will work the same, the only caveat is that:
http://vim.wikia.com/wiki/Search_for_visually_selected_text
--> 如果你想突出显示 gvim 中出现的文本,
--> if you want to highlight a text occurrences in gvim