当我在 vim 中进行搜索时,我喜欢突出显示结果并使其非常明显,因此我在.vimrc
.
" When highlighting search terms, make sure text is contrasting colors
:highlight Search guibg=yellow guifg=black
(这适用于 vim 的 GUI 版本,例如 MacVim 或 Gvim;对于命令行,您可以使用ctermbg
和ctermfg
。)
但有时我会使用命令进行搜索,例如c/foo
- “从光标更改为下一个出现的foo
”。
在这种情况下,我不希望foo
突出显示所有出现的事件。
我可以关闭突出显示吗仅有的在将搜索用作命令的移动的情况下?
答案1
这些简单的映射似乎有帮助。
常规搜索
旋转突出显示在在进行搜索之前:
nnoremap / :set hls<CR>/
动态搜索
旋转突出显示离开在进行搜索之前:
nnoremap v/ :set nohls<CR>v/ nnoremap d/ :set nohls<CR>d/ nnoremap y/ :set nohls<CR>y/ nnoremap c/ :set nohls<CR>c/
请注意,您需要为设置类似的映射?
。
答案2
要永久禁用搜索突出显示:
:set nohlsearch
(or)
:set nohls
但您可能想保持突出显示。另一方面,如果想暂时摆脱突出显示,请输入:
:nohlsearch
(or)
:noh
它将停止突出显示当前搜索,直到您再次搜索。
尽管这对您来说不是完美的答案,但这是一个很好的解决方法,而且这也是我所使用的方法。