我知道可以阻止Vim在任何搜索中突出显示,但是有没有办法让它在常规搜索中突出显示但不是,例如,替换?
我经常会突出显示一段文字然后执行以下操作:
:s/^/#/
注释掉整个街区。但是我的屏幕左侧有一个丑陋的黄色条,我每次都要:noh
清除它。
我希望突出显示保持常规/搜索。这可能吗?
答案 0 :(得分:5)
这并没有完全回答你的问题,但对于我有同样问题的帮助:我添加了这个命令,以便在搜索或搜索和替换后轻松停用突出显示
nnoremap <esc> :noh<return><esc>
答案 1 :(得分:2)
我的解决方案:把它放在你的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"
。当前"highlight visibility"
实际上不是您可以直接查询或设置的选项,但您可以使用命令:nohlsearch
独立关闭突出显示可见性(这与:set nohlsearch
不同,因为下一次搜索将再次启用可见性。
此外,无论何时运行命令:set hlsearch
,都会产生两种效果:它设置选项,如果您输入:nohlsearch
,它会让vim忘记。换句话说,更改'hlsearch'
(开启或关闭)会强制当前"highlight visibility"
在逻辑上匹配。