Detectar idioma de novos arquivos no vim (realce de sintaxe de atualização)

1

Sempre que você abre um arquivo, o vim executa uma série de verificações para determinar o idioma do arquivo e aplica o realce de sintaxe relevante; primeiro, verificando a extensão do arquivo e, em seguida, olhando dentro do próprio arquivo. Nada de novo aqui.

Quando você cria um novo arquivo, incluindo a extensão de arquivo, por exemplo, test.sql , o vim realça automaticamente a sintaxe SQL para qualquer coisa que você digita - novamente, nada de novo aqui.

No entanto, quando você cria um novo arquivo sem uma extensão, mas contendo um shebang, por exemplo, #!/usr/bin/env python , parece ser necessário salvar o arquivo e abri-lo novamente para que o vim aplique as verificações e decida que isso é um script python.

Minha pergunta é se existe um comando vim que aciona essas verificações, permitindo uma atualização do realce em novos arquivos (sem extensão), evitando a necessidade de reabrir o arquivo.

Veja a documentação do vim para carregamento de sintaxe Eu pensei em encontrar algo útil sobre a minha consulta - infelizmente eu não o fiz.

    
por Javier Arias 05.07.2017 / 15:35

1 resposta

3

Aqui estão 3 maneiras diferentes de fazer isso:

  • %código%. O lado negativo dessa abordagem é que você não pode adicioná-la a um atalho de teclado, pois ela funcionará apenas com um tipo de arquivo (python neste exemplo)
  • :set ft=python + :w O lado negativo disso é que você precisa salvar o arquivo antes de executar o comando, pois ele recarrega o arquivo.
  • :e Isso é mais demorado para digitar.

Você pode adicionar a segunda ou terceira opção como um atalho com :filetype detect ao seu map <C-r> :filetype detect<CR> para ativar a atualização do arquivo com .vimrc + ctrl

    
por 05.07.2017 / 20:23