¿Cómo hacer que vim reconozca el tipo de script y active la sangría automática y el resaltado de sintaxis, sin necesidad de guardar y volver a abrir el archivo?

Aug 16 2020

No guardo mis scripts de shell con una .shextensión. Entonces, cuando lanzo un nuevo archivo con vim usando vim <filename>, identifica el tipo de script leyendo el shebang. Naturalmente, esto solo sucede después de haber escrito el shebang, guardado y luego vuelto a abrir el archivo ... Me preguntaba si hay alguna opción de línea de comando o una opción de modo de comando vim para poder evitar estos pasos innecesarios de guardar y volver a abrir, y vim solo sabe que estoy trabajando en un script de shell.

Respuestas

4 Quasímodo Aug 16 2020 at 22:27
  • Sin guardar el archivo, puede establecer manualmente el tipo de archivo en sh(script de shell).

    :se ft=sh
    
  • Puede agregar una asignación a su .vimrc. Por ejemplo, para hacer F3aplicar el comando,

    nnoremap <F3> :set filetype=sh<CR>
    
  • Si permite guardar el archivo, haga lo mencionado por @muru,

    :w|e