我知道可以阻止 Vim 在任何搜索中突出显示,但是有没有办法让它在常规搜索中突出显示,而不是例如替换?
我经常会突出显示一段文本,然后执行以下操作:
:s/^/#/
注释掉整个块。但是后来我的屏幕左侧上下有一个难看的黄色条,我:noh
每次都必须清除它。
我希望突出显示保留在常规/搜索中。这可能吗?
我知道可以阻止 Vim 在任何搜索中突出显示,但是有没有办法让它在常规搜索中突出显示,而不是例如替换?
我经常会突出显示一段文本,然后执行以下操作:
:s/^/#/
注释掉整个块。但是后来我的屏幕左侧上下有一个难看的黄色条,我:noh
每次都必须清除它。
我希望突出显示保留在常规/搜索中。这可能吗?
这并不能完全回答您的问题,但对我来说有同样的问题有帮助:我添加了此命令以在搜索或搜索并替换后轻松停用突出显示
nnoremap <esc> :noh<return><esc>
我的解决方案:把它放在你的 vimrc 文件中
set nohlsearch
noremap * :set hlsearch<CR>:nohlsearch<CR>*
noremap / :set hlsearch<CR>:nohlsearch<CR>/
noremap ? :set hlsearch<CR>:nohlsearch<CR>?
nnoremap <F4> :set invhlsearch<CR>
inoremap <F4> <ESC>:set invhlsearch<CR>gi
nnoremap <CR> :set nohlsearch<CR>
它能做什么:
关于从未真正解释清楚的亮点的一些注释:
当该'hlsearch'
选项打开时,所有未来的搜索/替换都将打开"highlight visibility"
。current"highlight visibility"
并不是一个你可以直接查询或独立设置的选项,但你可以通过命令独立关闭高亮可见性:nohlsearch
(这与 不一样:set nohlsearch
,因为下一次搜索将再次启用可见性)。
此外,每当您运行该命令时,都会:set hlsearch
产生两种效果:它设置选项以及让 vim 忘记您是否曾经键入过:nohlsearch
. 换句话说,改变'hlsearch'
(开或关)将迫使电流"highlight visibility"
在逻辑上匹配。