在 Vim 中搜索选择

发布于 2024-07-10 09:21:47 字数 400 浏览 14 评论 0原文

我在编写 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 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(6

仅冇旳回忆 2024-07-17 09:21:47

检查这个 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

剪不断理还乱 2024-07-17 09:21:47

回答

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

说明

< code>q/ 的工作方式与普通搜索 / 类似,只不过您处于命令模式,因此 p 实际上是“粘贴”而不是键入字符 p。 因此,上面的内容将复制您正在搜索的文本并将其粘贴到搜索中。

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

Answer

  1. Yank the text you want to search for
  2. q/p
  3. Enter

Explanation

q/ works similarly to vanilla search / except you're in command mode so p actually does "paste" instead of typing the character p. So the above will copy the text you're searching for and paste it into a search.

For more details type :help q/

故事还在继续 2024-07-17 09:21:47

使用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).

盗琴音 2024-07-17 09:21:47

我刚刚了解到(通过优秀的《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 #.

暗地喜欢 2024-07-17 09:21:47

实际上,您可以直观地选择文本,然后按 * 和 # 搜索下一个匹配项...它的工作原理相同,唯一的警告是:

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

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:

Whitespace in the selection matches any whitespace, when searching (searching for "hello world" will also find "hello" at the end of a line, with "world" at the start of the next line).

http://vim.wikia.com/wiki/Search_for_visually_selected_text

回忆凄美了谁 2024-07-17 09:21:47

--> 如果你想突出显示 gvim 中出现的文本,

  1. 请选择 text & 复制
  2. 然后?粘贴所选文本(注意:这不适用于插入模式)

--> if you want to highlight a text occurrences in gvim

  1. Select the text & copy
  2. then ?paste the selected text (Note: This will not work for insert mode)
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文