gpt4 book ai didi

vim - 修改 vim 高亮优先级

转载 作者:行者123 更新时间:2023-12-04 14:40:49 25 4
gpt4 key购买 nike

我的 .vimrc 中有以下四种突出显示类型(每个显示不同的颜色):

  • incsearch(突出显示搜索匹配项)
  • 匹配(当前词,视觉工作室编辑器)
  • 2match(行尾的尾随空格)
  • hlsearch(常规 / 搜索匹配)

  • 突出显示的优先级似乎与我上面列出的完全一样。例如。如果存在于同一字符中,增量搜索着色将覆盖任何其他匹配颜色。

    我想做 hlsearch第二优先级,以便它覆盖 match2match颜色(如果出现在同一字符中)。

    有没有办法做到这一点?

    作为引用,这些是我 .vimrc 中的相关行文件:
    [...]
    set hlsearch
    set incsearch
    [...]
    function Matches()
    highlight curword ctermbg=darkgrey cterm=bold gui=bold guibg=darkgrey
    silent! exe printf('match curword /\V\<%s\>/', escape(expand('<cword>'), '/\'))
    highlight eolspace ctermbg=red guibg=red
    2match eolspace /\s\+$/
    endfunction
    au CursorMoved * exe 'call Matches()'
    [...]

    最佳答案

    你使用的所有东西的优先级都是固定的;指定优先级的唯一方法是通过 matchadd() ,您可以将其用作 :match 的替代品和 :2match .由于 hlsearch 的优先级为零,您需要传递一个负优先级,例如-1).

    例如,替换

    :match Match /\<\w\{5}\>/


    if exists(w:lastmatch)
    call matchdelete(w:lastmatch)
    endif
    let w:lastmatch = call matchadd('Match', '\<\w\{5}\>', -1)

    关于vim - 修改 vim 高亮优先级,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14069077/

    25 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com