如何切换Vim的搜索突出显示而不使其禁用

前端之家收集整理的这篇文章主要介绍了如何切换Vim的搜索突出显示而不使其禁用前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我想要的是映射一个键,例如F4,所以按F4将切换搜索亮点的可见性,因此,无论当前的可见性如何,启动新的搜索都可以实现可见性.

我试过的

>将F4映射到:nohlsearch暂时禁用高亮显示,而不关闭hlsearch设置,但不会再次切换显示.
>将F4映射到:设置hlsearch!确实打开/关闭,但我不想切换hlsearch设置,只是可见性设置.如果hlsearch关闭,那么它不会通过新的搜索自动回来.

似乎没有相反的形式:nohlsearch和命令本身有从函数调用的问题.

我发现了类似的问题,但他们没有提供答案.

更新:
第一个评论提供了我正在要求的内容,转载如下:

let hlstate=0
nnoremap <F4> :if (hlstate == 0) \| nohlsearch \| else \| set hlsearch \| endif \| let hlstate=1-hlstate<cr>

(N.B.对于任何使用这种方式的人,将地图填充到一行而不是使用函数是必要的,因为您无法从函数内部的突出显示更改.)

相关问题略有不同的功能http://stackoverflow.com/a/16750393/1176650

" ctrl+c to toggle highlight.
let hlstate=0
nnoremap <c-c> :if (hlstate%2 == 0) \| nohlsearch \| else \| set hlsearch \| endif \| let hlstate=hlstate+1<cr>

现在只需按ctrl c来切换高亮.只有奇怪的是,您必须在搜索之后按两下才能切换高亮,因为搜索不会增加计数器.

原文链接:https://www.f2er.com/bash/386713.html

猜你在找的Bash相关文章