Como forçar o realce de sintaxe no vim

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.
diretorio de configuração do vim

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.

Conteúdo relacionado pelo Google

Como configurar o VI para fazer realce de sintaxe.

Aqui, o assunto vai ser um editor de textos simples presente em quase todas as distro Linux, justamente por ser extremamente leve (acho que este não é bem o caso do vim) e, além de tudo, é extremamente ‘espartano’ no seu visual.
Não se engane com “as roupas simples” do nosso amigo. Ele tem mais recursos que o leafpad, gEdit ou o Notepad (Windows).
Gosto de algumas coisas no vi. A possibilidade de executá-lo dentro de um terminal transparente e poder editar os meus arquivos de configuração e contemplar o meu papel de parede preferido enquanto trabalho, é uma delas. A leveza deste aplicativo completo salta aos olhos.
Gostaria de dizer ao leitor, da maneira mais polida possível, que, se você não sabe o que é o vi ou o vim, este texto provavelmente não é pra você. Desculpe. 😉

Alternativas ao editor vi

há várias outras alternativas disponíveis por aí. É sempre disso que estamos falando, quando o assunto é software livre: escolhas e liberdade de escolha.
Uma, que eu gosto muito é o nano e ele já tem o recurso syntax highlighting disponível como padrão e costuma vir ‘empacotado’ na maioria das distro.

Como ativar o syntax highlighting no vi

O caso, aqui, é simples para ser resolvido.
Inicie o vi, com o arquivo código do seu programa (eu vou usar o ‘startx’, no exemplo):

vi /usr/bin/startx

Dentro do editor, digite o seguinte comando:

:set syntax on

Isto deve resolver o problema.

Ops! Mensagem de erro E319…

Você ainda está aqui? Recebeu uma mensagem de erro?
vimrc-config2
A versão mais simplificada do vi não tem o recurso de realce da sintaxe do código. Isto gera a mensagem de erro: “E319: Sorry, this command is not available in this version”.
Para resolver isto, instale a versão mais avançada, vim (vi improved):

sudo apt-get install vim

, nas distro debian based, como é o caso do Ubuntu.

Editando o arquivo de configuração do vim

Uma solução definitiva e melhor é editar o arquivo de configuração do vim.
Abra-o com o seu editor favorito e edite a linha syntax off para syntax on. Se estiver apenas comentado, retire os “#”, tal como na figura:
vimrc-config
No Ubuntu, o arquivo de configuração do vim é /etc/vim/vimrc. Ao editá-lo, a solução torna-se definitiva.
Happy coding!

Conteúdo relacionado pelo Google