VIM: Como associo um novo tipo de extensão com um novo syntax highlight?
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
Gostou?
Imprimir esta página
Leia também:
- ProFTPd: Como utilizar um chroot e acessar diretórios disponíevis em vários lugares do sistema?
- Tomcat: Como desabilitar a listagem de diretórios quando não há um index?
- Apache: Eu tenho muitos domínios virtuais, como posso fazer para gerar logs separados de cada um?
- Apache: Como posso bloquear outros sites de fazer links diretos em meus arquivos?
- iptables: Como redireciono o tráfego de toda uma porta para um servidor meu?






Deixe uma Resposta