Emacs/Introduction

Un livre de Wikilivres.

Ce manuel traite d'Emacs, l'incarnation selon GNU de l'éditeur avancé, auto-documenté, personnalisable, extensible et visuel en temps réel. (Le `G' de GNU n'est pas muet.)

Nous disons qu'Emacs est un éditeur visuel car, normalement, le texte étant édité est visible à l'écran et mis à jour automatiquement lorsque vous tapez vos commandes. Voir Display.

Nous l'appelons un éditeur en temps réel car l'affichage est mis à jour très fréquemment, généralement après chaque caractère ou paire de caractères tapés. Ce qui minimise la quantité d'informations que vous devez garder en mémoire lorsque vous éditez. Voir Real-time.

Nous qualifions Emacs d'avancé car il fournit des facilités au delà de la simple insertion et suppression : contrôle de sous-processus, indentation automatique de programmes, visualisation de deux fichiers ou plus à la fois, édition de texte formaté, traitement en terme de caractères, mots, lignes, phrases, paragraphes et pages, mais aussi expressions et commentaires pour différents langages de programmation.

Auto-documenté veut dire qu'à tout moment, vous pouvez taper le caractère spécial Control-h, pour connaître vos différentes options. Vous pouvez aussi l'utiliser pour savoir ce que fait telle commande, ou pour trouver toutes les commandes se rapportant à un sujet. Voir Aide.

Personnalisable veut dire que vous pouvez changer les définitions des commandes d'Emacs en un rien de temps. Par exemple, si vous utilisez un langage de programmation pour lequel les commentaires commencent par <** et finissent par **>, vous pouvez indiquer aux commandes de manipulation de commentaires d'Emacs d'utiliser ces chaînes (Voir Comments). Un autre genre de personnalisation est le réarrangement du jeu de commandes. Par exemple, si vous préférez que les quatre commandes de déplacement élémentaire (haut, bas, gauche et droite) se trouvent sur des touches placées en diamant sur le clavier, vous pouvez rattacher les touches ainsi. Voir Customisation.

Extensible veut dire que vous pouvez aller plus loin que la simple personnalisation et écrire des commandes totalement nouvelles, sous forme de programmes en langage Lisp exécutables par le propre interpréteur Lisp d'Emacs. Emacs est un système "extensible en ligne", ce qui veut dire qu'il est formé d'un grand nombre de fonctions s'appelant entre elles, chacune d'elles pouvant être redéfinie au milieu d'une session d'édition. A peu près n'importe quelle partie d'Emacs peut être remplacée sans faire une copie séparée d'Emacs en entier. La plupart des commandes d'édition d'Emacs sont déjà écrites en Lisp ; les quelques exceptions auraient pu être écrites en Lisp mais ont été écrites en C pour des raisons d'efficacité. Bien que seul un programmeur puisse écrire une extension, tout le monde peut ensuite l'utiliser. Si vous voulez apprendre la programmation en Emacs Lisp, nous recommandons "Introduction to Emacs Lisp" de Robert J. Chassel, également publié par le Free Software Foundation.

Exécuté sous le système X Window, Emacs fournit ses propres menus et des raccourcis commodes aux boutons de souris. Mais Emacs peut fournir beaucoup des avantages d'un système de fenêtrage sur un terminal texte. Par exemple, vous pouvez parcourir ou éditer plusieurs fichiers à la fois, déplacer du texte entre fichiers et éditer des fichiers tout en exécutant des commandes shell.