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