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
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
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
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
La façon la plus simple de se déplacer est d'utiliser les flèches
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).