2009-08-29 25 views
56

我有:set hlsearch作为默认值。如何摆脱Vim中的搜索亮点

当我搜索某些内容时,搜索项会突出显示。然而很多时候我想摆脱突出,所以我做:set nohlsearch。通过这种方式,我暂时摆脱了亮点。

但是,如果我做一个新的搜索,然后搜索术语不突出。

我想打ESC + ESC 摆脱亮点,然后重新设置:set hlsearch

有什么建议吗?

+2

[VIM明确上次搜索高亮(http://stackoverflow.com/questions/657447/vim-clear-last-search-highlighting) – 2010-07-27 09:56:38

回答

92

尝试:noh命令。

vi/vim notes

+0

你会如何映射的可能重复重绘行为完好无损? – 2009-08-29 20:12:09

+0

不知道这是否是作业的一部分,但如果你坚持,为什么不在映射中添加':redraw'? – 2009-08-29 20:23:55

+10

感谢,使用vim多年,但没有意识到那一个。我只是想知道我的手指是否可以取消/ lkjlkj? – codeape 2009-08-29 20:56:09

1

您可以搜索没有在文本文件中的东西。在这种情况下,什么都不会突出。 (例如/ 349i5u9sgh)

+0

这就是我现在做的我找一个更好的选择 – Roger 2009-08-29 21:39:41

4

尝试这种情况:

set hlsearch! 
nnoremap <F12> :set hlsearch!<CR> 

和命中F12在需要时清除。在命令模式下使用:noh进行清除。

36

我用

/pleasedisablehighlightthanks 

命令。或者只是

/qewrufhiqwe 

但你应该carefult不要用下面的命令混的!

/qewrufhiqew 
+0

它必须像的'同样的效果:noh',但你必须要小心,不要碰到了什么东西,可以发现;-) – 2009-08-29 20:26:43

+0

这是我使用过的技术 - 但是:noh也会突出显示亮点(在高亮模式下保留下一个搜索),所以它更好。 (其它一切都分开,我结束了一个“未找到模式:KKK”。错误信息的底部,其中有被清理到 – 2009-08-29 20:44:29

+0

我只是用/航空自卫队,这是短:) – g33kz0r 2010-01-14 16:44:10

15
:noremap <silent> <c-l> :nohls<cr><c-l> 

这将重绘屏幕,并清除与控制-L,比达到了与F键容易得心应手:)任何搜索字词。

8

我在.vimrc如下:

map <silent> <C-N> :let @/=""<CR> 
+0

有人可以通过本代码中发生的事情走过我。我不明白。 – Roger 2009-08-29 22:34:53

+1

'@ /'是包含最新搜索词的注册表。该命令将清除该寄存器,这会导致搜索亮点消失。这相当于':nohls'。 – jqno 2009-08-30 11:29:56

+1

我有一样的:让映射到 - 它的舒适可达\ – zen 2009-12-11 07:33:31

3

这可能满足您的需求:

nnoremap <esc> :noh<return><esc> 

有了稍微修改一下就可以使其在插入模式下工作。 NOH到 但保持 的: