在VIM中,使用“/”命令查找文本后,该文本仍然处于高亮状态。
那么,有什么命令可以取消高亮呢?我并不想完全禁用高亮功能,但是一旦找到需要的内容,我也不想看到那些亮点。
谢谢。
答案:按下命令“:nohl”,即可取消高亮显示。
那么,有什么命令可以取消高亮呢?我并不想完全禁用高亮功能,但是一旦找到需要的内容,我也不想看到那些亮点。
谢谢。
答案:按下命令“:nohl”,即可取消高亮显示。
输入以下内容:
:noh
:noh
映射为:nnoremap <silent> <esc> :noh<cr><esc>
。我发现按Esc键是在Vim中清除搜索高亮的自然方式。 - Peter Rincker你可以使用以下方式切换它:
:set hls!
当然,一个快速而且简单的替代方案是搜索另一组无意义的字符:
/asdsad
我通常将一个键绑定到:set hls!
,这样做很容易,并且在我使用vim的某些机器上没有安装我的配置文件时使用“胡言乱语”方法。
'incsearch'
选项(这是一个很棒的选项),那么搜索无意义的内容会使你的屏幕在输入时随机跳动。将一些正常模式键绑定到 :nohlsearch
,在所有方面都更好。 - Maëlan:set nohlsearch
:nohlsearch
或者使用:noh
来清除高亮,直到进行新的搜索或按下n或N键。
按下ESC键可清除高亮。
nnoremap <esc> :noh<return><esc>
按两次\(反斜杠)清除高亮
nnoremap \\ :noh<return>
我很懒,会输入类似于 /asdf
的内容,然后按下 RETURN
键。
我在我的 .vimrc 文件中有以下内容:
map <leader>h :set hlsearch!<cr>
因此,当我输入:
\h
它可以切换高亮显示的开/关状态。
如果您不想去除高亮,最好的方法之一是清除搜索寄存器,除非您当然需要稍后再查看搜索项。这将防止您不得不重新启用高亮(编辑:noh
并不会永久禁用高亮)并防止您意外地跳转。这就是我设置的方式:
nmap <silent> ,/ :let@/=""<CR>
此操作将在普通模式下将键序列,/
映射为清除搜索寄存器@/
的操作,通过将其设置为空字符串来实现。这只是已经存在的内容的替代方案。
nmap <silent> ,/ :nohlsearch<CR>
。 - Brady Trainor:noh
命令可以取消文本高亮。
这可能不是最合适的方法,但控制-L会重新绘制屏幕,并在此过程中清除任何高亮显示。这可以避免您必须创建另一个绑定。
除了“清除搜索寄存器”的功能,您甚至可以将搜索寄存器重置为其先前的值:
command! -nargs=* -range S
\ let atslash=@/|exe ':'.<line1>.','.<line2>.'s'.<q-args>|let @/=atslash
然而:
- 这不会重置:hls
的先前状态。我认为这在一般情况下是不可能的。
- 这定义了一个新命令:S
,用于替换:s
。您可以使用将其映射到另一个命令,但是当您向替换命令添加范围时,此方法将会中断。
is.vim插件对我来说非常方便。 它可以自动清除各种情况下的搜索,您只需要通过任何插件管理器安装它, 它就会为您完成工作,无需设置或手动更改设置。它只是有效地工作。
(图片来自官方 Github 存储库)