Answers:
http://vim.wikia.com/wiki/VimTip1572
如果您使用了此插件,则只需启用该功能
\ m
然后使用NumPad键为该单词分配颜色,而无需移动光标。
1个
您可以一次对许多不同的单词使用多种不同的突出显示,也可以根据需要使用更复杂的搜索模式。
skyblue的答案显示了如何使用常规搜索突出显示来完成所需内容的思想的核心。
我通过制作与*
命令类似的键绑定来扩展了该技术,但实际上并未移至下一个匹配项。
我要感谢garyjohn指出与的词选择expand()
等效*
的词(以避免使用*
自身并恢复视图)。这样可以充分简化代码,使其可以直接进入映射(使用函数可以省去)。我还添加了匹配部分单词(例如g*
)的映射 。
:" The leader defaults to backslash, so (by default) this
:" maps \* and \g* (see :help Leader).
:" These work like * and g*, but do not move the cursor and always set hls.
:map <Leader>* :let @/ = '\<'.expand('<cword>').'\>'\|set hlsearch<C-M>
:map <Leader>g* :let @/ = expand('<cword>')\|set hlsearch<C-M>
normal *
通过替换let @/ = @/
为来避免调用winsaveview(),winrestview()和let @/ = expand("<cword>")
。
您也可以将搜索寄存器设置为要匹配的变量。
首先,确保搜索突出显示功能已打开:
:set hlsearch
然后,您可以使用以下方法设置搜索寄存器:
:let @/="variable"
这将突出显示所有出现的变量,而无需跳到下一个匹配项。
有关更多信息,请参见 :help @/