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.vim
per me). Ho installato un cf.vim personalizzato perché quello standard è datato. :scriptnames
mostra 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, è scriptnames
stato 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 java
ha html
per 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