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

发布于 2024-12-11 17:47:53 字数 94 浏览 0 评论 0原文

:colorscheme default

文件类型是php。

谁能帮我找出突出显示规则?

:colorscheme default

The filetype is php.

Can anyone help me to find out the highlight rule ?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(3

剑心龙吟 2024-12-18 17:47:53
:hi[light]

将列出所有定义的规则并进行预览。您还可以查询单个项目:

:hi Keyword

要手动查找光标下的任何语法组,有多种选择。我的函数是一个与键绑定的函数,如下所示:

" 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

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

:hi[light]

will list all defined rules with a preview. You can also query single items:

:hi Keyword

To manually look up any syntax group under the cursor, there are choices. Mine is a function bounded to a key like this:

" 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

It'll list every syntax group the word belongs to.

悲喜皆因你 2024-12-18 17:47:53

我已经把下面的代码片段藏起来有一段时间了,不知道从哪里得到的。这会将您的 statusline 设置为显示当前光标下单词的突出显示组:

:set statusline=%{synIDattr(synIDtrans(synID(line('.'),col('.'),1)),'name')}

这将在您在文件中移动时更新您的 statusline

I've had the following snippet tucked away for a while now, not sure where I got it. This will set your statusline to show the highlight group of the word currently under the cursor:

:set statusline=%{synIDattr(synIDtrans(synID(line('.'),col('.'),1)),'name')}

This will update your statusline as you move around the file.

放血 2024-12-18 17:47:53

我的 _gvimrc 中有这样的东西:

function! SyntaxBalloon()
    let synID   = synID(v:beval_lnum, v:beval_col, 0)
    let groupID = synIDtrans(synID)
    let name    = synIDattr(synID, "name")
    let group   = synIDattr(groupID, "name")
    return name . "\n" . group
endfunction

set balloonexpr=SyntaxBalloon()
set ballooneval

I have something like this in my _gvimrc:

function! SyntaxBalloon()
    let synID   = synID(v:beval_lnum, v:beval_col, 0)
    let groupID = synIDtrans(synID)
    let name    = synIDattr(synID, "name")
    let group   = synIDattr(groupID, "name")
    return name . "\n" . group
endfunction

set balloonexpr=SyntaxBalloon()
set ballooneval
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文