Português do Brasil English
Devin no Facebook  Devin no Twitter  RSS do Site 
Programas    

VIM: Como associo um novo tipo de extensão com um novo syntax highlight?


Comentários  0
Visualizações  
15.185

Quando o Vim carrega o arquivo, ele verifica em suas configurações que tipo de cores de sintaxe ele vai carregar para cada tipo de extensão. A configuração está localizada no arquivo filetype.vim, encontrado no diretório de arquivos de configuração do vim. Este diretório vai depender muito da sua distribuição, e da versão do próprio vim que você estiver utilizando. Um exemplo seria:

/usr/share/vim/vim61/filetype.vim

Mas se você não estiver com muito saco para sair procurando pelo arquivo de diretório em diretório, busque pelo arquivo filetype.vim. Olhando inicialmente para ele, parece meio dificil, mas você só vai precisar alterar coisas mínimas. Use o bom senso e veja o exemplo:

Antes:

" HTML (.shtml for server side)
au BufNewFile,BufRead *.html,*.htm,*.shtml        setf html

Depois:

" HTML (.shtml for server side)
au BufNewFile,BufRead *.html,*.htm,*.shtml,*.tpl        setf html

Aqui eu adicionei a extensão .tpl (de templates) para que use as cores de sintaxe do HTML. Agora vamos supor que você queira associar a extensão .sex ao arquivo de sintaxe ecchi.vim:

au BufNewFile,BufRead *.sex          setf ecchi

O arquivo ecchi.vim terá todas as especificações de cores, e terá que fica no subdiretório syntax/, dentro do diretório do vim que citei um pouco acima.

E por último, caso você queira usar um certo tipo de sintaxe durante a execução do Vim, é só utilizar o comando (por exemplo):

:set syntax=python
15.185

Comentários  0
Visualizações  
15.185


TagsLeia também

Apaixonado por Linux e administração de sistemas. Viciado em Internet, servidores, e em passar conhecimento. Idealizador do Devin, tem como meta aprender e ensinar muito Linux, o que ele vem fazendo desde 1997 :-)


Leia também



Comentários

Deixe um comentário

O seu endereço de e-mail não será publicado. Campos obrigatórios são marcados com *