Vim sta sintattizzando il mio file in modo divertente e voglio sapere quale file di sintassi è responsabile di questo comportamento. Come faccio a sapere quali file di sintassi sono stati caricati da vim?
Vim sta sintattizzando il mio file in modo divertente e voglio sapere quale file di sintassi è responsabile di questo comportamento. Come faccio a sapere quali file di sintassi sono stati caricati da vim?
Risposte:
Per scoprire quali file Vim ha effettivamente caricato, esegui
:scriptnames
:echo b:current_syntax. Per vedere gli elementi di sintassi attualmente attivi, fai come suggerito da Ingo ed esegui :syntax list. Quest'ultimo può aiutare se sono attivi elementi di sintassi da più di un file di sintassi, come notato da Ingo.
/usr/share/vim/vim73/filetype.vim. Dopo aver usato il comando sopra ho capito che stava usando la versione di MacVim su ~/Applications/MacVim.app/Contents/Resources/vim/runtime/filetype.vim. Se hai installato MacVim, assicurati di modificare il file corretto.
/usr/share/vim/vim81/syntax/cf.vimper me). Ho installato un cf.vim personalizzato perché quello standard è datato. :scriptnamesmostra entrambi i file. L'impostazione predefinita è inferiore nell'elenco degli script; tuttavia, viene utilizzato il primo. Se guardi /usr/share/vim/vim81/syntax/cf.vim, c'è una guardia if exists("b:current_syntax") finish endif. Quindi, nel mio caso, è scriptnamesstato utile, ma ho dovuto scavare un po 'più a fondo.
La sintassi per il buffer corrente può essere interrogata tramite
:setlocal syntax?
Di solito (ma non necessariamente) corrisponde al tipo di file del buffer ( :setlocal filetype?).
Per uno sguardo più profondo,
:syntax list
mostra tutte le definizioni di sintassi (alcune sintassi (possono) includono sintassi di altre lingue, ad esempio javaha htmlper il markup dei commenti JavaDoc).
È possibile visualizzare quali tipi di file sono attualmente utilizzati e da
:verbose set ft ?
Il plugin che gestisce il tipo di file si trova probabilmente su
:e $VIMRUNTIME\ftplugin