Pour lancer Emacs, il suffit de le lancer en ligne de commande sous un shell
% emacs foo.c #ouvrira foo.c % emacs #ou bien plus simplement sans paramètrePour quitter tapez C-x C-c (vous demandant occasionnellement si vous voulez sauvegarder votre travail en tapant soit y ou n).
Pour ouvrir un fichier il suffit de taper C-x C-f (f pour find). Le pointeur ira alors dans une zone appelée le minibuffer (cf minibuffer) où il vous demandera de rentrer le nom du fichier.
Pour sauvegarder les modifications apportées à un fichier tapez C-x C-s (save).
Sous un éditeur comme textedit
(je ne sais pas si le mot éditeur est adapté, mais bon), la démarche est d'exécuter un textedit
pour chaque fichier.
Ce qui implique que si vous voulez voir un fichier ouvert, il faut chercher le textedit
qui l'a lancé. Sous Emacs les choses sont différentes puisque il y aura UN Emacs qui gérera plusieurs fichiers ouverts (on peut faire comme textedit
mais du coup on perd les avantages expliqués ci-dessous). Pour ouvrir plusieurs fichiers il suffit de répéter un certain nombre de fois la commande C-x C-f (cf opérations sur les fichiers).
A chaque fois que l'on ouvre un nouveau fichier, il prend la place de l'ancien à l'écran, mais l'ancien est toujours présent pour Emacs en mémoire. Chacun de ces fichiers représente une unité appelée buffer. Pour voir la liste des buffers tapez C-x C-b (note : Un certain nombre de buffers sont précédés d'un astérisque, ils sont réservés par Emacs) .
Tous ces buffers ont des noms, ainsi pour basculer vers un autre fichier ouvert il suffit de taper C-x b, qui vous demandera alors de taper le nom du fichier.
Pour sélectionner une partie du texte, soit vous le faites à la souris (aaarghh quelle perte de temps), soit vous le faites au clavier (la bonne façon). La manière de sélectionner une région est différente sous Emacs par rapport à windobe. Pour sélectionner une région il faut d'abord déposer une marque (généralement au début du texte que l'on veut sélectionner) en tapant C-x ESPACE, puis il suffit de se déplacer (on voit que la région sélectionnée a une autre couleur sous X par exemple).
Enfin pour copier cette région tapez M-w, ou pour la couper C-W. Le texte coupé est placé dans une sorte de tampon (note : le kill ring) . Pour le coller tapez C-y. Certains râleront en disant : c'est pas logique, c'est pas comme sous windows, sous windows c'est simple, suffit de taper C-x ou C-c et C-v. Il faut savoir que c'est pas plus con de taper C-w que C-x.
Il faut noter qu'il y a un historique des "copier" et "couper". Ainsi, une fois que vous avez tapé C-y pour coller un texte, vous pouvez taper M-y et le "copier" ou "coller" précédent dans l'historique est collé.
On peut couper une ligne facilement sans avoir à sélectionner une région avec C-k (équivalent de dd
sous vi)
Comme vous l'avez vu, Emacs permet de garder en mémoire un certain nombre de fichiers. Le problème c'est que vous ne pouvez en voir que un à la fois et du coup les multiples textedit
paraissent mieux. Mais c'est sans compter les fenêtres multiples sous Emacs.
Pour scinder votre écran Emacs en deux parties tapez C-x 2 Ainsi on voit toujours le même fichier, mais l'écran est coupé en deux fenêtres (note : Emacs appelle fenêtre ce que nous appelons frame) . Pour basculer entre les fenêtres (window) tapez C-x o. Ainsi vous pouvez voir deux régions différentes du même fichier, mais vous pouvez aussi facilement voir deux fichiers différents (réfléchissez un peu). Il suffit dans l'une des windows de taper C-x b (cf buffer multiple) qui bascule entre buffer (ce qui revient à basculer entre les fichiers ouverts) et de choisir un buffer différent.
Vous pouvez répéter ce processus un certain nombre de fois et avoir ainsi 5 à 6 windows visibles en même temps.
Quand on programme ou que l'on tape du texte on a souvent besoin de se déplacer rapidement. Emacs offre une fonction puissante pour chercher du texte : incremental search (la recherche incrémentale).
Je m'explique : admettons que vous voulez rechercher le mot padioleau
et que vous savez que votre mot est plus bas dans le fichier. Tapez C-s. Vous êtes alors invité à taper votre requête. Tapez alors la lettre p et déjà Emacs trouve la première occurrence de "p" dans le fichier, puis tapez a pour affiner jusqu'à ce qu'il trouve. L'intérêt est que vous n'avez pas à taper tout le texte. Il se peut qu'il lui suffise de une ou deux lettres seulement.
Si votre recherche échoue (beep sonore), c'est peut être que votre mot est situé au dessus. Tapez alors C-r (increment search backward = recherche en arrière).
Notez que vous pouvez enlever des lettres (où en rajouter) tout au long de ces opérations, ce qui généralise la recherche (respectivement l'affine).
Retapez C-s (ou C-r) et vous irez à la prochaine occurrence (respectivement la précédente).
On peut aussi vouloir aller à une certaine ligne, et dans ce cas tapez M-g puis votre numéro de ligne (note : sous Emacs, si cela ne marche pas essayez M-x goto-line RET ) .
La façon la plus simple de se déplacer est d'utiliser les flèches (note : Si celles-ci sont mal configurées, alors voir configurer emacs)
L'ultime méthode pour se déplacer est d'utiliser la recherche incrémentale (cf chercher dans un fichier)
Décomposons la fenêtre de haut en bas:
--**-Emacs: tron.c (C Font)--L113--78%---------------------------------------Expliquons:
%%
quand le fichier est en lecture seule).tut.c
est le nom du buffer (et donc du fichier ouvert).C
signifie que Emacs est en mode C. Emacs possède un nombre impressionnant de modes, dont le CAML, C, C++, PERL, Pascal, LaTeX, HTML, Ada, Assembleur, LISP , Java, bash, Tcl etc... (si vous voulez édité un fichier écrit dans le langage LANG, essayez M-x LANG-mode RET). Ces modes sont adaptés aux données contenues dans le fichier (indentation automatique cf mise en page, couleurs cf couleur, etc..).
Font
signifie que font-lock-mode est actif. C'est un minor mode (contrairement à C qui est appelé un major mode) qui permet de colorier le fichier ouvert (rouges pour les commentaire, jaune pour les mots-clés par exemple). Voir la section sur les couleurs les couleurs sous Emacs).
L113
signifie que l'on se trouve à la ligne 113 dans le fichier.78%
signifie que nous sommes situés à 78% du fichier (quand on est au début du fichier il indique Top
, à la fin Bot
et quand on voit tout le fichier All
).:
" sous vi. Ce minibuffer est très pratique et très bien fait. En effet il possède la completion. Par exemple quand vous avez tapé C-x C-f et que vous voulez ouvrir foo.c alors tapez f puis TAB et si foo.c est le seul fichier du répertoire à commencer par f alors le minibuffer va remplir (compléter) le reste pour vous. Formidable, non ? Sinon si fo2.c existe alors il va compléter jusqu'au facteur commun, c'est à dire "fo". Tapez alors encore sur TAB et il affichera la liste des fichiers qui commencent par "fo". Tapez o (ce qui fait que vous voyez foo
dans le minibuffer) puis TAB et étant donné qu'il n'y a plus de conflit il complétera par foo.c. Que de temps gagné. De plus il possède un historique (tapez sur flèche haut ou bas et le texte tapé avant réapparaît).