La définition Python par défaut de Nano recherche l'une des deux choses suivantes : une extension ou une correspondance d'en-tête, telles que définies dans la section /usr/share/nano/python.nanorc
:
syntax "python" "\.py$"
header "^#!.*/python[-0-9._]*"
Cela correspondrait donc à #!/bin/python
. À moins que vous n'écriviez quelque chose pour le système, coder en dur l'exécutable Python est une assez mauvaise idée... C'est pourquoi env python
est utilisé de nos jours.
La façon la plus simple de corriger Nano est de modifier la définition en exécutant sudoedit /usr/share/nano/python.nanorc
et de modifier le header
ligne à :
header "^#!.*python.*"
C'est un lot plus ouvert.
Il existe en fait un jeu de fichiers syntaxiques massivement amélioré disponible à l'adresse suivante le projet nanorc sur Github, qui, en plus d'améliorer d'autres choses, précise :
header "^#!.*/(env +)?python[-0-9._]*( |$)"
Il n'est plus maintenu mais il est toujours une amélioration massive par rapport aux valeurs par défaut. Il est assez simple à installer :
git clone https://github.com/nanorc/nanorc.git
cd nanorc
make install
Puis nano ~/.nanorc
et ajoutez :
include ~/.nano/syntax/ALL.nanorc