O Vim é uma sintaxe que destaca meu arquivo de uma maneira engraçada, e quero saber qual arquivo de sintaxe é responsável por esse comportamento. Como descubro quais arquivos de sintaxe o vim carregou?
O Vim é uma sintaxe que destaca meu arquivo de uma maneira engraçada, e quero saber qual arquivo de sintaxe é responsável por esse comportamento. Como descubro quais arquivos de sintaxe o vim carregou?
Respostas:
Para descobrir quais arquivos o Vim realmente carregou, execute
:scriptnames
:echo b:current_syntax. Para ver os itens de sintaxe atualmente em vigor, faça o que o Ingo sugeriu e execute :syntax list. O último pode ajudar se os itens de sintaxe de mais de um arquivo de sintaxe estiverem em vigor, como observou o Ingo.
/usr/share/vim/vim73/filetype.vim. Depois de usar o comando acima, percebi que estava usando a versão do MacVim em ~/Applications/MacVim.app/Contents/Resources/vim/runtime/filetype.vim. Se você possui o MacVim instalado, modifique o arquivo correto.
/usr/share/vim/vim81/syntax/cf.vimpara mim). Eu instalei um cf.vim personalizado porque o padrão é datado. :scriptnamesmostra os dois arquivos. O padrão é mais baixo na lista de scripts; no entanto, o primeiro está sendo usado. Se você olhar /usr/share/vim/vim81/syntax/cf.vim, há um guarda if exists("b:current_syntax") finish endif. Então, no meu caso, scriptnamesfoi útil, mas tive que me aprofundar um pouco mais.
A sintaxe do buffer atual pode ser consultada via
:setlocal syntax?
Geralmente (mas não necessariamente) corresponde ao tipo de arquivo do buffer ( :setlocal filetype?).
Para um olhar mais profundo,
:syntax list
mostra todas as definições de sintaxe (algumas sintaxes (podem) incluem sintaxes de outras linguagens, por exemplo, javatêm htmlpara a marcação de comentário JavaDoc).
Você pode ver quais tipos de arquivos são usados atualmente e por
:verbose set ft ?
O plug-in que manipula o tipo de arquivo provavelmente está localizado em
:e $VIMRUNTIME\ftplugin