Vim - це синтаксис, який смішно виділяє мій файл, і я хочу знати, який синтаксичний файл відповідає за цю поведінку. Як дізнатися, які файли синтаксису завантажив vim?
Vim - це синтаксис, який смішно виділяє мій файл, і я хочу знати, який синтаксичний файл відповідає за цю поведінку. Як дізнатися, які файли синтаксису завантажив vim?
Відповіді:
Щоб дізнатися, які файли 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було корисно, але мені довелося копати трохи глибше.
Синтаксис поточного буфера можна запитувати через
:setlocal syntax?
Зазвичай це (але не обов'язково) відповідає файлевому типу буфера ( :setlocal filetype?).
Для глибшого погляду
:syntax list
показує всі визначення синтаксису (деякі синтаксиси (можуть) включати синтаксиси іншої мови, наприклад java, htmlдля розмітки коментарів JavaDoc).
Ви можете переглянути, якими типами файлів користуються зараз
:verbose set ft ?
Плагін, що обробляє тип файлу, швидше за все, знаходиться в
:e $VIMRUNTIME\ftplugin