¿Le estás dando correctamente al script de shell un .sh
? ¿extensión? La selección de sintaxis automática de Vim se basa casi por completo en la detección del nombre del archivo (extensión). Si un archivo no tiene una sintaxis establecida (o tiene una sintaxis incorrecta), Vim no cambiará automáticamente a la sintaxis correcta solo porque comenzó a escribir un script en un idioma determinado.
Como solución temporal, el comando :set syn=sh
activará el resaltado de sintaxis de shell-script.
Las respuestas hasta ahora son correctas y puedes usar la extensión (como .sh
) o una línea shebang (como #!/bin/bash
) para identificar el tipo de archivo. Si no tiene uno de esos, aún puede especificar el tipo de archivo manualmente usando un comentario de Modeline en la parte superior o inferior de su archivo.
Por ejemplo, si desea identificar un script sin extensión como un script de shell, puede agregar este comentario en la parte superior de su archivo:
# vim: set filetype=sh :
o
# vim: filetype=sh
Eso le indicará a vim que trate el archivo como un script de shell. (También puede configurar otras cosas en la línea de modelos. En vim, escriba :help modeline
para más información)