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.vim
para mim). Eu instalei um cf.vim personalizado porque o padrão é datado. :scriptnames
mostra 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, scriptnames
foi ú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, java
têm html
para 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