Выделите внутренние переменные bash с помощью VIM

Можно ли выделить внутренние переменные bash с помощью VIM?

Например, переменные, описанные на этой странице, будут отображаться другим цветом, чем переменные, определяемые пользователем.

http://tldp.org/LDP/abs/html/internalvariables.html


person Dave    schedule 25.05.2015    source источник


Ответы (1)


Вы можете определить дополнительные ключевые слова синтаксиса для этих встроенных переменных. Поместите следующее в ~/.vim/after/syntax/sh.vim:

syntax keyword shBuiltInVariable BASH BASH_ENV BASH_VERSION containedin=shDerefSimple
highlight def link shBuiltInVariable Special

containedin= необходим, потому что переменные оболочки уже проанализированы существующими синтаксическими группами, и эти дополнительные переопределения должны идти туда для соответствия.

Также обратите внимание, что $VIMRUNTIME/syntax/sh.vim поддерживает несколько диалектов оболочки; если вы используете разные оболочки, вам нужно добавить соответствующие условия (b:is_bash и т. д.) вокруг ваших дополнений.

person Ingo Karkat    schedule 26.05.2015