Vim - это синтаксическая подсветка моего файла забавным способом, и я хочу знать, какой синтаксический файл отвечает за это поведение. Как узнать, какие файлы синтаксиса загружены vim?
50
Чтобы узнать, какие файлы Vim действительно загрузили, выполните
:scriptnames
:echo b:current_syntax
. Чтобы увидеть элементы синтаксиса, действующие в настоящее время, выполните действия, предложенные Ingo, и выполните их:syntax list
. Последнее может помочь, если элементы синтаксиса из более чем одного файла синтаксиса действуют, как отметил Инго./usr/share/vim/vim73/filetype.vim
. После использования вышеуказанной команды я понял, что она использует версию MacVim в~/Applications/MacVim.app/Contents/Resources/vim/runtime/filetype.vim
. Если у вас установлен MacVim, убедитесь, что вы изменили правильный файл./usr/share/vim/vim81/syntax/cf.vim
для меня). Я установил пользовательский cf.vim, потому что стандартный датирован.:scriptnames
показывает оба файла. Значение по умолчанию ниже в списке скриптов; Тем не менее, первый используется. Если вы посмотрите/usr/share/vim/vim81/syntax/cf.vim
, есть охранникif exists("b:current_syntax") finish endif
. Так что в моем случае этоscriptnames
было полезно, но мне пришлось копать немного глубже.Синтаксис для текущего буфера может быть запрошен через
Обычно (но не обязательно) соответствует filetype буфера (
:setlocal filetype?
).Для более глубокого взгляда,
показывает все определения синтаксиса (некоторые синтаксисы (могут) включают синтаксисы других языков, например
java
,html
для разметки комментариев JavaDoc).источник
Вы можете просмотреть, какие типы файлов в настоящее время используются и
Плагин, обрабатывающий тип файла, скорее всего находится в
источник