Premiers pas avec Emacs et Python : Différence entre versions

De Ensiwiki
Aller à : navigation, rechercher
(Coloration syntaxique)
Ligne 42 : Ligne 42 :
  
 
[[Image:Emacs-coloring-hello-py.png]]
 
[[Image:Emacs-coloring-hello-py.png]]
 +
 +
=== Indentation ===
 +
 +
L'indentation (espaces en début de ligne) est crucial en Python : c'est ce qui détermine où se trouve la fin d'un bloc de code. Sur notre exemple, la fonction <code>dire_bonjour</code> se termine à la fin du bloc indenté, elle contient les deux instruction <code>print</code>.
 +
 +
Emacs vous aide à indenter votre code correctement : un appui sur la touche tabulation (notée TAB dans la suite) vous permet de choisir entre plusieurs indentations pour la ligne courante. Essayez de placer votre curseur sur la ligne <code>print("Et bienvenue à l'Ensimag !")</code>, et appuyez sur la touche TAB plusieurs fois. Emacs vous propose une version où cette ligne est désindentée (donc à l'extérieur de la fonction) et la version d'origine.
 +
 +
[[Image:Emacs-python-indent.png]]

Version du 22 avril 2016 à 14:17

Emacs ... un éditeur de texte

Emacs est un éditeur de texte, très puissant, extensible, même s'il n'est pas toujours très intuitif. Il est très puissant, certains disent qu'il peut tout faire sauf le café, ils se trompent.

D'abord, qu'est-ce que ça veut dire, un « Éditeur de texte » ? Vous avez surement déjà utilisé un « Traitement de texte », qui permet de taper du texte, de le mettre en forme (gras, italique, taille et choix des polices, …). Un éditeur de texte édite du texte brut : pas de mise en forme, pas de dessins, juste du texte. Une suite de caractères, quoi. Mais en informatique, on trouve du texte brut partout : langage de programmation, fichiers de configuration de beaucoup de logiciels, …

On pourrait essayer d'éditer le texte d'un programme Python avec un traitement de texte classique, mais on aurait énormément de fonctionnalités inutiles, et par contre, il manquerait énormément de choses.

Ouvrir un fichier

Commencez par télécharger le fichier hello.py, et sauvegardez-le sur votre compte.

Un moyen simple d'ouvrir ce fichier dans Emacs est de lancer, en ligne de commande :

emacs hello.py

Un autre moyen, c'est de lancer Emacs, puis dans le menu File, choisir Open File…, et choisir le fichier à ouvrir.

Emacs-open-hello-py.png

Quand on a plusieurs fichiers sur lesquels on veut travailler en même temps, il faut ouvrir chaque fichier depuis une fenêtre Emacs déjà ouverte, sinon, on lance beaucoup de processus Emacs, c'est moins pratique, et ça consomme beaucoup plus de ressources de l'ordinateur.

Créer un fichier

Quand on lance la commande emacs sans argument, une fenêtre s'ouvre, mais elle ne correspond à aucun fichier. Si on veut travailler sur un nouveau fichier, il faut créer ce fichier avant d'entrer son contenu (ce qui permet à Emacs de savoir à quel langage de programmation il doit s'adapter) :

emacs

Emacs-visit-new-file.png

Une autre solution est de lancer la commande emacs avec le nom du fichier a créer :

emacs nouveau_fichier.py

Emacs et le Python

Revenons à notre fichier hello.py. Vous avez maintenant une fenêtre Emacs ouverte, avec le contenu de ce fichier affiché.

Coloration syntaxique

Premier constat : les mots clés (begin, end, …) sont en couleur. Ah, mais on avait pourtant dit qu'il n'y avait pas de mise en forme dans un fichier texte ?!? Et non, il n'y a pas de couleurs dans le fichier, mais Emacs nous l'affiche quand même avec des couleurs. Vérifiez si vous voulez en faisant « less hello.py » dans un terminal, il n'y a pas de couleur.

Emacs-coloring-hello-py.png

Indentation

L'indentation (espaces en début de ligne) est crucial en Python : c'est ce qui détermine où se trouve la fin d'un bloc de code. Sur notre exemple, la fonction dire_bonjour se termine à la fin du bloc indenté, elle contient les deux instruction print.

Emacs vous aide à indenter votre code correctement : un appui sur la touche tabulation (notée TAB dans la suite) vous permet de choisir entre plusieurs indentations pour la ligne courante. Essayez de placer votre curseur sur la ligne print("Et bienvenue à l'Ensimag !"), et appuyez sur la touche TAB plusieurs fois. Emacs vous propose une version où cette ligne est désindentée (donc à l'extérieur de la fonction) et la version d'origine.

Emacs-python-indent.png