在gvim中突出显示光标下的单词

时间:2015-07-30 11:00:55

标签: vim highlight

如何在vim中突出显示光标下的单词。 目前我通过获取光标下的单词然后按*来完成此操作。 当然,这会突出显示文本,但光标会移动到文件中的下一个找到的单词(如果单词存在多次)。但是,我希望光标保持在同一个单词上,同时突出显示它。

4 个答案:

答案 0 :(得分:2)

你可以试试Mark plugin,因为它可以同时突出显示不同颜色的几个单词。它非常稳定,文档齐全,易于使用。

可以直接或通过正则表达式选择要突出显示的单词,插件提供了一些在标记的单词/表达式的出现之间跳转的机制。

答案 1 :(得分:2)

假设你有hlsearch - 给出你对 * 命令的描述,我很确定你这样做 - 你可以创建一个设置搜索寄存器的映射: / p>

nnoremap <leader>* :<C-u>let @/ = expand('<cword>')<cr> 

使用映射后,您可以像其他任何搜索一样使用 n / N 跳转到下一个/上一个结果。

编辑:

由于您要我描述映射正在做什么,我会将其分解。

  • nnoremap表示要创建非递归映射。
  • <leader>*是映射的关键序列。默认情况下,<leader> \ ,因此实际映射为 \ ,后跟 * 。您可以将其更改为您想要的任何内容,我只是将其用作示例。
  • :<C-u>在这种情况下可能没用,但我发现这是一个好习惯。它的作用是保证您将要运行的命令没有添加范围。
  • let @/ =正在设置/(搜索)注册表。这是您进行常规搜索时存储最后搜索的字符串的位置。我们使用映射来操纵它,以利用内置的hlsearch n / N 功能。
  • expand('<cword>')抓住光标下的字词。
  • <cr>只是模拟你按 Enter 来实际完成命令。

答案 2 :(得分:1)

我添加了此功能,它允许您按<leader> 1-6切换不同颜色的最多6个单词的突出显示,<leader> -0将清除所有突出显示。

https://github.com/sk1418/myConf/blob/master/common/.vimrc#L729

最初的想法是来自sjl。

答案 3 :(得分:0)

我在 .vimrc 中这样做了,它使用 F3 突出显示光标下的单词:

nmap <F3> /<c-r>=expand("<cword>")<CR><CR>N

'N' 会回到最后一个位置