如何在VIM中突出显示所选单词的所有出现?

195

我该怎样在GVim中高亮选定单词的所有出现,就像在Notepad++中一样?

16个回答

2
set hlsearch

也许吗?

2
我最喜欢用的是mark.vim插件。它可以同时以不同颜色高亮显示多个单词。 示例截图

1

使用autocmd CursorMoved * exe printf('match IncSearch /\V\<%s\>/', escape(expand('<cword>'), '/\'))

确保你已经设置了IncSearch,例如:call s:Attr('IncSearch', 'reverse')。或者你可以使用另一个高亮组替代它。

这将突出显示光标下的所有单词出现,没有延迟。我发现延迟会减慢我的编码速度。突出显示的颜色将与单词的颜色匹配,因此它与你的方案保持一致。


0
  1. 将以下代码添加到您的~/.vimrc文件中:

" 高亮搜索项 set hlsearch " F8 递归搜索光标下的单词,:copen,关闭-> :ccl nnoremap <F8> :grep! "\<<cword>\>" . -r<CR>:copen 33<CR>

  1. 使用:so%重新加载设置
  2. 在正常模式下移动光标到单词上。

  3. 按 * 键,然后按 F8 键递归搜索整个项目中包含该单词的内容。


0
为什么不直接使用: z/
这将突出显示光标下的当前单词和任何其他出现的单词。而且你不必为每个搜索项单独命令。也许在邪恶的gvim中没有这个功能?vim默认支持此功能。
*仅在您想要光标移到下一个出现位置时才有用。当视觉比较两个内容时,通常不希望光标移动,并且每次按*键都很烦人。

Vim和gvim通常具有相同的命令集。帮助文档中没有关于“z /”命令的参考。 - wds
它不仅在gvim中不可用,而且在vim中也不可用。我刚刚检查过了 - 明显无法工作。 - Ruslan
只有在使用早期答案中提到的此脚本时,z/才能正常工作。 - fzzylogic

0

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

选择文本并复制,然后?粘贴所选文本(注意:这不适用于插入模式)


你的回答可以通过提供更多支持信息来改进。请编辑以添加进一步的细节,例如引用或文档,以便他人可以确认你的答案是正确的。您可以在帮助中心中找到有关如何编写良好答案的更多信息。 - Community

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接