Vim 根据图案匹配高亮显示整条线

Vim 根据图案匹配高亮显示整条线,vim,neovim,Vim,Neovim,如果屏幕上有匹配项,我将尝试使用vim或nvim突出显示整个gui行 我不知道如何开始接近这一点,也不知道要寻找什么 我能够根据模式匹配将vim设置为highlght,但我希望它能够突出显示整个gui宽度,就像它在屏幕底部(黑色)所做的那样,如上所示 如何实现这一点?据我所知,除了符号功能外,无法突出显示整行。下面的示例使用@/寄存器值查找最后搜索的行,并将在这些行上显示搜索突出显示 function! s:ToggleHighlightSearchLines() if !exists

如果屏幕上有匹配项,我将尝试使用vim或nvim突出显示整个gui行

我不知道如何开始接近这一点,也不知道要寻找什么

我能够根据模式匹配将vim设置为highlght,但我希望它能够突出显示整个gui宽度,就像它在屏幕底部(黑色)所做的那样,如上所示


如何实现这一点?

据我所知,除了
符号
功能外,无法突出显示整行。下面的示例使用
@/
寄存器值查找最后搜索的行,并将在这些行上显示
搜索
突出显示

function! s:ToggleHighlightSearchLines()
    if !exists('s:id')
        let s:id = localtime()
        let lc = [line('.'), col('.')]
        call cursor([1, 1])
        let s:sc = &signcolumn
        let &signcolumn = 'no'
        sign define hlsLines linehl=Search
        let s:sp = 0
        while 1
            let ln = search(@/, 'W')
            if ln == 0 | break | endif
            execute 'sign place ' . s:id . ' line=' . ln . ' name=hlsLines'
            let s:sp += 1
        endwhile
        call cursor(lc)
    else
        while 0 < s:sp
            execute 'sign unplace ' . s:id
            let s:sp -= 1
        endwhile
        sign undefine hlsLines
        let &signcolumn = s:sc
        unlet s:id s:sp s:sc
    endif
endfunction
command! ToggleHLSLines call s:ToggleHighlightSearchLines()
函数!s:切换HighlightSearchLines()
如果!存在('s:id')
设s:id=localtime()
设lc=[line('.')、col('.')]
调用游标([1,1])
设s:sc=&signcolumn
let&signcolumn='no'
符号定义hlsLines linehl=搜索
设s:sp=0
而1
设ln=search(@/,'W')
如果ln==0 |中断|结束如果
执行“签名位置”。s:身份证。”行='。伊恩name=hlsLines'
设s:sp+=1
循环结束
呼叫游标(lc)
其他的
而0
您好,非常感谢您的回复。能否更详细地解释一下您的解决方案?我对使用
vimscript