VIM: Как я могу узнать, какое правило подсветки используется для ключевого слова? - PullRequest
0 голосов
/ 25 октября 2011
:colorscheme default

Тип файла: php.

Может кто-нибудь помочь мне узнать правило выделения?

Ответы [ 3 ]

5 голосов
/ 25 октября 2011
: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

В нем будут перечислены все синтаксические группы, к которым относится слово.

2 голосов
/ 25 октября 2011

Я уже некоторое время спрятал следующий фрагмент, не уверенный, где я его получил. Это установит ваш statusline для отображения группы выделенных слов, находящихся в данный момент под курсором:

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

Это обновит ваш statusline при перемещении по файлу.

1 голос
/ 25 октября 2011

У меня есть что-то вроде этого в моем _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
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...