Emacs

De Ensiwiki
Aller à : navigation, rechercher
Emacs
Emacs Splash.png
Développeur Le projet GNU

Dernière version 25.4

Environnement Unixoïdes (dont Linux), Mac OS X, Windows

Type Éditeur de texte / code
Licence GNU GPL

Site Web GNU Emacs


Emacs est un éditeur de texte (et donc de code) assez simple et très puissant, qui vous permettra d'écrire vos programmes dans différents langages de programmation (en particulier ceux enseignés à l'Ensimag, Ada, C, C++, R, Python, Java, etc.), ainsi que vos rapports en LaTeX.

Pour vous faire une première idée, vous pouvez parcourir l'introduction et la section finale, more useful features, de l'« Emacs tour » officiel (en anglais).

Débuter avec Emacs

Vous n'avez pas besoin de maîtriser complètement Emacs pour en tirer profit. Vous pouvez l'utiliser en utilisant juste les menus et les boutons.

Nos chers enseignants nous ont concocté un petit tutorial pour débuter sous Emacs en éditant ses premiers programmes Ada, pratique pour faire connaissance avec Emacs tout en découvrant les joies de l'Ada.

Une fois cette première étape franchie, il vous faut décider si vous souhaitez vous investir dans Emacs ou rester un simple utilisateur sans grande ambition, et pour vous aider dans cette difficile décision...

Pourquoi Emacs ?

Pour ne pas plagier la page Vim, voici un petit paragraphe qui va essayer de vous convaincre d'utiliser Emacs. Il y a tout d'abord l'argument traditionnel de la productivité qui veut que l'on programme plus vite en utilisant Emacs (ou de même pour Vim), une fois bien rôdé. Ce n'est pas faux... mais beaucoup de gens n'ont pas besoin ou pas envie de savoir pisser du code plus vite que leur ombre.

Un autre argument est que vous ne deviendrez pas un meilleur informaticien, ou mathématicien appliqué, en passant votre temps à faire la partie monotone et répétitive du travail. Il vaut mieux laisser un programme la faire pour vous et vous concentrez sur la partie créative.

Alors pourquoi utiliser Emacs ? Peut-être bien pour le confort qu'il offre. Même si vous ne devenez pas un die-hard Emacs fan, vous pouvez tout de même entrevoir les bénéfices qu'apporte Emacs en tant qu'éditeur sur un logiciel plus simpliste comme GEdit, tels que la coloration syntaxique et une véritable indentation automatique fondées sur la sémantique des langages.

De plus, la flexibilité de l'Éditeur vous permettra par la suite, si vous le désirez, d'ajuster votre environnement de travail (ou pas) à vos besoins. Une des grandes forces d'Emacs et peut-être la première est en effet son extensibilité. Investir du temps dans Emacs vous permettra (sans trop de peines) d'obtenir en retour un instrument sur mesure.

Emacs chez vous

Emacs est disponible sur les machines de l'Ensimag, mais vous voudrez sûrement l'avoir sur votre machine personnelle. Fort heureusement, Emacs est disponible pour à peu près toutes les plateformes possibles et imaginables et cela inclut Linux et tous ses petits camarades unixoïdes, Mac OS X et Windows. À chaque système son Emacs :

  • Si vous êtes sous un unixoïde traditionnel, votre distribution possède très certainement un paquetage Emacs, voire plusieurs (faites une recherche) ; pensez à installer celui qui comporte une interface graphique, si la distinction est faite (regardez la description des paquetages). Certaines distributions proposent le choix entre plusieurs version stable. La denière est la version 24.x .
    • Sous Ubuntu, emacs24 pour la version graphique, et emacs-nox pour la version de terminal (détails ici).
    • Sous Debian, emacs24 pour la version graphique, et emacs-nox pour la version terminal
    • Sous Gentoo, le paquetage s'appelle app-editors/emacs.
    • Vous pouvez également décider de compiler emacs depuis les sources, soit à partir d'une tarball, soit à partir du CVS de développement.
  • Si vous êtes sous Mac OS X, il existe deux possibilités : Carbon Emacs ou Aquamacs Emacs. La différence entre les deux relève de leur manière de s'intégrer avec votre bureau Mac : Aquamacs propose une meilleure intégration d'Emacs avec OSX, en changeant et rajoutant un certain nombre de choses (tabs, commandes avec la touche pomme...), Carbon Emacs est plus conservatif et tente d'imiter le plus fidèlement possible le comportement d'Emacs sous Unix.
  • Si vous avez Windows, le port officiel d'Emacs sous Windows s'appelle NTEmacs.

Utiliser Emacs

Emacs est programmable. Vous pouvez le modeler suivant vos besoins. Les raccourcis-clavier sont les raccourcis par défaut. Vous pouvez les changer, ou créer de nouvelles fonctions.

Ce qu'Emacs peut faire pour vous

Comme certains d'entre vous ont sûrement remarqué en fouillant dans les menus, il y a un tas de choses dans Emacs, plus ou moins utiles. Pour vous permettre de vous y retrouver, voici quelques petits pointeurs sur des choses qui pourraient vous servir, à l'Ensimag :

Pour coder

  • l'indentation automatique (suffit de presser TAB) ;
  • la coloration syntaxique (ajouter (global-font-lock-mode t) dans le .emacs si nécéssaire) ;
  • la complétion automatique (avec M-/) ;
  • la compilation dans Emacs (M-x compile pour invoquer make(1), C-c C-m et C-c C-c pour compiler l'Ada avec gnatmake(1), C-c C-c pour le LaTeX) ;
  • le débogage dans Emacs (M-x gdb).

Divers

  • l'explorateur de fichiers d'Emacs, dired, à mi-chemin entre un explorateur graphique et un shell (C-x d) ;
  • le lecteur de pages man (M-x man) ;
  • le navigateur de fichiers info (C-h i) ;
  • l'accès distant (SSH ou FTP) à vos fichiers (préfixer le chemin du fichier sur la machine distante par /ssh:votrelogin@laditemachine:, p.ex. /ssh:bob@telesun:~/.emacs), pour votre confort, à utiliser de préférence avec ssh-agent(1) et une clef publique ;
  • l'édition collaborative (M-x make-frame-on-display, puis taper le nom du serveur X ; sur les TX : le nom imprimé sur l'écran suivi de ":0" ; cependant, si votre serveur X est correctement protégé (c'est le cas par défaut en principe), vous devrez, au préalable, ajouter les personnes autorisées via xhost +utilisateur) pour éditer un même fichier à deux  : pratique pour les TP en salle TX.

Certaines des commandes données ci-dessus (gdb et dired, entre autres) vous transporteront dans un mode différent (dans un nouveau buffer), qui vous sera alors inconnu ; pour obtenir des informations de base sur l'utilisation de ce nouveau mode, n'oubliez pas la commande C-h m.

Travailler le programme de l'Ensimag avec Emacs

Trouver plus de documentation

Pour débutants

  • Le tutorial intégré à Emacs : dans le menu Help d'Emacs.

Pour tous

  • Le newsgroup fr.comp.applications.emacs : un très bon endroit pour poser des questions, les archives sont une mine d'or d'informations.
  • Le manual d'Elisp (Emacs Lisp) : utile si vous souhaitez vous lancer sérieusement dans la personnalisation de votre Emacs, et comme référence pour certains points techniques et fonctionnalités avancées (advices, macros...).