Como fazer o vim reconhecer o tipo de script e ativar o autoindent e o realce de sintaxe, sem precisar salvar e reabrir o arquivo?

Aug 16 2020

Não salvo meus scripts de shell com uma .shextensão. Portanto, quando eu inicio um novo arquivo com o vim usando vim <filename>, ele identifica o tipo de script lendo o shebang. Naturalmente, isso só acontece depois que eu digitei o shebang, salvei e reabri o arquivo ... Gostaria de saber se existe alguma opção de linha de comando ou opção de modo de comando vim para que eu possa evitar essas etapas desnecessárias de salvar e reabrir, e vim só sei que estou trabalhando em um script de shell.

Respostas

4 Quasímodo Aug 16 2020 at 22:27
  • Sem salvar o arquivo, você pode definir manualmente o tipo de arquivo como sh(script de shell).

    :se ft=sh
    
  • Você pode adicionar um mapeamento ao seu .vimrc. Por exemplo, para fazer F3aplicar o comando,

    nnoremap <F3> :set filetype=sh<CR>
    
  • Se você permitir o salvamento do arquivo, siga as instruções de @muru,

    :w|e