VIM:我如何知道关键字使用哪个突出显示规则?

shi*_*bly 0 vim editor

:colorscheme default
Run Code Online (Sandbox Code Playgroud)

文件类型是php.

任何人都可以帮我找出突出显示规则吗?

unp*_*680 5

:hi[light]
Run Code Online (Sandbox Code Playgroud)

将使用预览列出所有已定义的规则.您还可以查询单个项目:

:hi Keyword
Run Code Online (Sandbox Code Playgroud)

要手动查找光标下的任何语法组,可以选择.我是一个像这样的键的函数:

" Show syntax highlighting groups for word under cursor
nmap <F2> :call <SID>SynStack()<CR>
function! <SID>SynStack()
    if !exists("*synstack")
        return
    endif
    echo map(synstack(line('.'), col('.')), 'synIDattr(v:val, "name")')
endfunc
Run Code Online (Sandbox Code Playgroud)

它将列出该词所属的每个语法组.