在VIM中,在使用“/”命令查找文本后,该文本仍然突出显示。
删除该命令的命令是什么?我根本不想删除突出显示功能,但是一旦我找到了我需要的东西,就不想拥有所有那些明亮的文本点。
感谢。
答案 0 :(得分:119)
输入:
:noh
答案 1 :(得分:30)
您可以使用
切换它:set hls!
当然,快速而又肮脏的选择是另外搜索乱语:
/asdsad
我通常会将一个密钥绑定到:set hls!
,以便在我没有安装我的个人资料的情况下在某个机器上使用vim时使用乱码方法。
答案 2 :(得分:12)
我很懒,输入类似/asdf
的内容,然后点击RETURN
键。
答案 3 :(得分:12)
:set nohlsearch
:nohlsearch
或:noh
简称。这将清除突出显示,直到执行新搜索或按下 n 或 N
点击 ESC 键
时清除亮点nnoremap <esc> :noh<return><esc>
按两次 \ (反斜杠)清除亮点
nnoremap \\ :noh<return>
答案 4 :(得分:11)
我的.vimrc中有这个:
map <leader>h :set hlsearch!<cr>
所以当我输入:
\h
开启/关闭突出显示。
答案 5 :(得分:9)
如果您不想删除突出显示,最好的方法之一是清除搜索注册,除非您以后需要搜索项目。这将阻止您重新启用突出显示和 (编辑:noh
不会永久禁用突出显示)可防止您意外跳转。这就是我的设置方式:
nmap <silent> ,/ :let@/=""<CR>
这样做是在正常模式下映射键序列,/
以通过将搜索寄存器设置为空字符串来清除搜索寄存器@/
。这只是已经陈述的替代方案。
答案 6 :(得分:1)
:noh
将删除突出显示的文字。
答案 7 :(得分:0)
除了“清除搜索寄存器”之外,您甚至可以将搜索寄存器重置为其先前的值:
command! -nargs=* -range S
\ let atslash=@/|exe ':'.<line1>.','.<line2>.'s'.<q-args>|let @/=atslash
然而:
- 这不会重置:hls
的先前状态。我不相信这一般是可能的。
- 这定义了一个新命令:S
,用于代替:s
。您可以使用cabbrev
将一个映射到另一个,但是当您向substitute命令添加范围时,这将会中断。