Donnez-vous correctement au script shell un .sh
extension? La sélection automatique de la syntaxe de Vim est presque entièrement basée sur la détection du nom de fichier (extension). Si un fichier n'a pas de syntaxe définie (ou si la syntaxe est incorrecte), Vim ne passera pas automatiquement à la syntaxe correcte simplement parce que vous avez commencé à taper un script dans une langue donnée.
Comme solution de contournement temporaire, la commande :set syn=sh
activera la coloration syntaxique du script shell.
Les réponses jusqu'à présent sont correctes et vous pouvez utiliser l'extension (comme .sh
) ou une ligne shebang (comme #!/bin/bash
) pour identifier le type de fichier. Si vous n'en avez pas, vous pouvez toujours spécifier le type de fichier manuellement en utilisant un commentaire de ligne de mode en haut ou en bas de votre fichier.
Par exemple, si vous souhaitez identifier un script sans extension en tant que script shell, vous pouvez ajouter ce commentaire en haut de votre fichier :
# vim: set filetype=sh :
ou
# vim: filetype=sh
Cela indiquera à vim de traiter le fichier comme un script shell. (Vous pouvez également définir d'autres éléments dans la ligne de modèle. Dans vim, tapez :help modeline
pour plus d'informations.)