Como obter o preenchimento automático correto para extensões de arquivo ambíguas?

8

Estou editando arquivos do Prolog como parte de um projeto exploratório e alguns dos arquivos com os .plquais estou trabalhando têm a extensão , que é compartilhada pelos arquivos Perl. Sempre que trabalho em um arquivo Prolog chamado [somefile].pl, o Vim me fornece destaque de sintaxe e detecção de erros para Perl, em vez de Prolog. Eu poderia desativar totalmente o realce da sintaxe para que o Perl ou a força .plfossem reconhecidos como Prolog, mas gostaria de saber se existe uma maneira menos ditatorial de corrigir o problema. Existe uma maneira de definir o destaque da sintaxe programaticamente ou usar algum tipo de combinação de teclas para informar ao Vim que estou editando um arquivo Prolog em vez de um arquivo Perl?

ssonicblue
fonte

Respostas:

6

Só posso responder a segunda parte da sua pergunta. Você pode dizer ao Vim que está editando um arquivo Prolog com este comando:

:set syntax=prolog

Se você nunca trabalha no Perl, não parece "ditatorial" adicionar uma configuração personalizada ao seu ~/.vimrc:

autocmd BufNewFile,BufRead *.pl setfiletype prolog syntax=prolog
janos
fonte
1
E você pode mapear :set syntax=prologpara algo (talvez <Leader>-p).
precisa saber é o seguinte
5

Você pode adicionar o seguinte na parte superior ou inferior do arquivo.

%vim: ft=prolog

Isso instruirá o Vim a tratar o arquivo como um arquivo Prolog.

Veja "Modelines" no manual do usuário e :help modeline.

Quincy Bowers
fonte