O editor de texto vi ou vim costuma detectar automaticamente a sintaxe correta a ser realçada, em função da linguagem de programação usada.
Em inglês, este recurso é chamado de syntax highlighting.
O editor de textos, no caso, confia na extensão de cada arquivo, para determinar o syntax highlighting a ser usado.
Mas, se você estiver editando um arquivo com código em PHP, mas a extensão dele é diferente de ‘.php’, isto pode não permitir ao vim realçar adequadamente as palavras-chave, as strings, as variáveis etc.
Caso não esteja, o realce de sintaxe pode ser ativado, genericamente, com o comando:
:set syntax=on
Se você quiser um realce específico, então indique a linguagem:
:set syntax=python :set syntax=perl
Para desligar, use ‘off’:
:set syntax=off
Onde encontrar as linguagens de programação suportadas
Você pode encontrar a relação de arquivos de configuração do realce de sintaxe, para as diversas linguagens de programação suportadas pelo vim (versão 7.x), no diretório /usr/share/vim/vim74/syntax/
Use o comando ‘ls’ para ver o conteúdo deste diretório.
Como resolver a sintaxe de 2 linguagens em um mesmo arquivo?
Programadores PHP, por exemplo, frequentemente precisam mixar HTML no meio do código.
Usualmente, o vim consegue resolver bem este tipo de situação.
Algumas vezes, contudo, ele “esquece” qual a linguagem do realce, em determinado ponto (PHP? HTML?) 😮
Neste caso, use o comando ‘Ctrl+L’ para refrescar a tela.
Se, ainda assim, o problema não se resolver, ajuste o parâmetro ‘php_minlines’ no arquivo de configuração .vimrc:
let php_minlines=500
O padrão costuma ser 100 linhas.
Referências
http://vim.wikia.com/wiki/Forcing_Syntax_Coloring_for_files_with_odd_extensions.
One reply on “Como forçar o realce de sintaxe no vim”
Ótima dica mano. Não sabia do syntax pra cada linguagem, depois de anos usando ainda tenho coisas a aprender. Por isso gosto ainda mais do mundo linux.