删除VIM搜索突出显示


13

完成搜索后,各个查询的所有匹配项仍突出显示,这很烦人。即使在关闭相应文件后,也会发生这种情况(正常行为?)。我该如何删除?

Answers:


15

您需要该命令:nohlsearch,但是您不想每次都键入该命令。把它放在你的〜/ .vimrc中:

nnoremap <silent> <leader>n :nohlsearch<CR>

之后,您只需输入领导者(默认为\),然后n清除匹配项即可。您不需要使用n; 如果您愿意,选择其他东西。

如果愿意,您还可以将领导者重新映射到更舒适的事物。我用逗号:

let mapleader = ","

(这要先于映射以清除搜索。)


4
我只是做:noh,这足以让vim知道我的意思。:)
sml 2010年

@scottl足够好(并提醒所有命令都有快捷方式),但我仍然喜欢映射常用命令。
Telemachus,2010年

10

我只是/qiw772723euz为了“搜索”文件中没有的内容。hacky解决方法,我知道,我也对真正的解决方案感兴趣:)


多数民众赞成在可怕的,但一个不错的快速和肮脏的“解决方案” :)
matthias krull 2010年

4

与上述@Telemachus答案类似,@ David Winslow在SO 上对此答案的评论建议映射一个切换hlsearch。您将映射以下内容:

nmap <silent> <leader>n :set hlsearch!<CR>

击中n会在每次您点击高亮显示搜索时将其关闭。


3

在我的配置中,我只需点击Command模式下的Enter即可清除突出显示的搜索字词。这就是配置方式。

set hlsearch    " highlight all matched terms
" Pressing return clears highlighted search
:nnoremap <CR> :nohlsearch<CR>/<BS>

附带说明一下,无论采用哪种配色方案,我都希望确保我的搜索匹配项被超级清晰地突出显示,因此我在黄色背景上给了它们黑色文本。

" When highlighting search terms, make sure text is contrasting color
:highlight Search ctermbg=yellow ctermfg=black
" Do the same for gvim
:highlight Search guibg=yellow guifg=black

0

我有一个略有不同的解决方案。对我来说,感觉自然是要按一下<esc>以使其消失。但是,这不起作用。映射<esc>:noh具有不良的副作用,因此也不是一种选择。<Leader>n对于这种琐碎的任务,类似的映射对我来说并不直观。但是,<esc>我可以忍受两次按:

nnoremap <silent> <esc><esc> :nohlsearch<CR>

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.