在Vim中搜索时切换高亮显示

在Vim中搜索时切换高亮显示,vim,Vim,我喜欢在vim中搜索时突出显示。以下是我想要的: 我用/ 然后,将突出显示所有结果。如果我按下除n或n以外的任何键,我希望高亮显示被关闭 如果在执行任意数量的命令后再次按n或n,我希望切换高亮显示 我从哪里开始?我甚至不知道该用谷歌搜索什么 您可以使用nohl手动禁用最后一个突出显示 我会让你知道,如果我能想出如何自动化这一点。我的.vimrc中有这个 nnoremap <CR> :noh<CR> nnoremap:noh 因此,当我看完突出显示后,我只需按enter

我喜欢在vim中搜索时突出显示。以下是我想要的:

我用
/

然后,将突出显示所有结果。如果我按下除
n
n
以外的任何键,我希望高亮显示被关闭

如果在执行任意数量的命令后再次按
n
n
,我希望切换高亮显示


我从哪里开始?我甚至不知道该用谷歌搜索什么

您可以使用
nohl
手动禁用最后一个突出显示


我会让你知道,如果我能想出如何自动化这一点。

我的.vimrc中有这个

nnoremap <CR> :noh<CR>
nnoremap:noh
因此,当我看完突出显示后,我只需按enter键将其删除。直到我再次打n或n,它才会消失


注意:如果要保留enter的功能,请在命令末尾添加另一个

一种方法是设置切换映射。以下是我在.vimrc中的一些切换映射:

let mapleader="\\"
noremap <silent> <Leader>th :set invhls hls ?<CR>
noremap <silent> <Leader>tn :set invnumber number ?<CR>
noremap <silent> <Leader>ts :set invspell spell ?<CR>
noremap <silent> <Leader>tw :set invwrap wrap ?<CR>
让mapleader=“\\”
noremap th:设置invhls hls?
noremap tn:设置invnumber编号?
noremap ts:设置法术?
noremap tw:是否设置换行?
要切换高亮显示,只需键入切换hls的
\th
。其他的是
行号
拼写检查
换行
。最后的
hls?
将显示新模式。

I重新映射control-l(小写l),以便清除搜索结果并重新绘制屏幕。
.vimrc
中的这一行执行以下操作:

nnoremap <silent> <C-l> :nohl<CR><C-l>
nnoremap:nohl

我更喜欢这个,因为对我来说它只是自然的

/
开始搜索,完成后,只需键入
/
即可停止突出显示


nnoremap/:设置nohl

您始终可以重新映射某个密钥,而不用于其他任何用途。它可以是一个序列。我建议使用双键序列
gn
,因为我认为在vim中,默认情况下不会使用双键序列,但您也可以使用功能键或您选择的其他单键。默认情况下,回车键会向下移动一行,我有时也会使用它。我发现当宏转到下一行的开头时,
非常好。在我看来,比做
j^
更好。因此,如果您确实使用此映射,我强烈建议您在注释的末尾添加额外的
。不要使用google,请使用
:help
。我使用此映射:
nnoremap,h:set hls切换高亮显示。我不知道这是否足以满足你的需要。但是我认为大多数时候,fleek.vim插件肯定足够了。使用快捷方式添加任意抽象并最终用无用的新变量阻塞头部和配置文件不是一个好习惯。不要使用
invhls
,只需按如下正确方式操作:
:设置hlsearch
:设置编号等。。