next up previous contents index
Next: Utilisation de TeX et Up: Emacs Previous: Configurer Emacs

   
Emacs et X window

Bien sûr, on peut effectuer les opérations classiques de copier/coller entre deux fenêtres Emacs ou entre une fenêtre Emacs et une fenêtre xterm, par exemple. Pour lancer Emacs, on peut définir des couleurs de fond (avec l'option -bg), de texte (avec l'option -fg), de curseur (avec l'option -cr), et de pointeur de la souris (avec l'option -ms). Par exemple :

emacs -bg ivory -fg slateblue -ms orange -cr brown memo.tex &

Pour lancer xemacs, la version ``souris'' de Emacs, il faut utiliser l'option -mc pour la couleur du curseur :

xemacs -bg ivory -fg slateblue -mc orange -cr brown memo.tex &

La souris fonctionne d'une facon particulière avec le bouton droit : on sélectionne d'abord le début de la zone avec un clic sur le bouton gauche, ensuite on peut sélectionner une zone de texte par un simple clic sur le bouton droit de la souris à tout autre endroit du texte, puis couper avec un second clic sur le bouton droit. On peut ensuite, comme dans une fenêtre xterm, coller par un clic sur le bouton du milieu de la souris.

La configuration des couleurs, de la présence ou non du menu, de l'ascenseur...peut se faire dans le fichier .emacs. Chaque fois que Emacs sera lancé, ces paramètres (un code Lisp, en fait) seront pris en compte. Par exemple, pour ne pas avoir de barre de menus ni d'ascenseur, insérer dans le fichier .emacs le code suivant :

(if (getenv "DISPLAY")
    (progn (menu-bar-mode -1)
     (scroll-bar-mode -1))
)

La correspondance entre la souris et une action peut également être définie dans le fichier .emacs. Par exemple, pour éditer un message électronique en appuyant en même temps sur le bouton gauche de la souris et la touche
Shift
, entrer le code suivant :

(define-key global-map [S-mouse-1] 'mail)

La touche S est équivalente à la touche
Shift
, les touches
Alt
et
Ctrl
étant respectivement équivalentes à ``M'' et ``C''4.1. Une combinaison de touches telle que appuyer en même temps sur la touche
Ctrl
et la touche ``x'', par exemple, est symbolisée en général (dans la documentation de Emacs ou d'autres programmes) par C-x. Bien entendu, C-S-x symbolise l'appui en même temps sur les touches
Ctrl
,
Shift
et
x
. Il en est de même pour le fichier .emacs. Ainsi, on peut changer le code précédent par :

(define-key global-map [S-C-mouse-1] 'mail)

On peut travailler dans plusieurs fenêtres en même temps. Toute modification dans l'une sera apportée aux autres. Pour ouvrir une autre fenêtre, presser
C-x 5 2
et pour n'en fermer qu'une, presser
C-x 5 0
. Si on ferme une fenêtre par la commande ``classique''
C-x C-c
, les deux fenêtres seront fermées en même temps.

Les couleurs peuvent être modifiées au cours d'une session Emacs, ce qui facilite les essais. La liste des couleurs disponibles peut être obtenue avec la commande showrgb :

showrgb | less

De même, on peut facilement trouver toute sorte de couleurs différentes portant un nom similaire (et donc une teinte semblable). Par exemple, pour trouver tous les oranges disponibles, taper :

showrgb | grep orange

Le résultat devrait ressembler à ca :

255 165   0             orange
255 140   0             dark orange
255  69   0             orange red
255 165   0             orange1
238 154   0             orange2
205 133   0             orange3
139  90   0             orange4

On peut définir de nouvelles couleurs, voir section [*] page [*]. Par exemple, pour accéder aux changements de couleurs, il faut presser
M-x
puis taper set-background-color pour changer la couleur de fond et valider par
Enter
. Attribuer alors une nouvelle couleur. On peut tout aussi bien entrer set-foreground-color, set-cursor-color ou set-mouse-color à la place de set-background-color. Les couleurs peuvent différencier les mots-cléfs en programmation C par exemple. Ainsi si on met dans le fichier .emacs le code suivant :

(add-hook 'c-mode-hook '(lambda () (font-lock-mode 1)))
(add-hook 'c++-mode-hook '(lambda () (font-lock-mode 1)))
(add-hook 'lisp-mode-hook '(lambda () (font-lock-mode 1)))
(add-hook 'emacs-lisp-mode-hook '(lambda () (font-lock-mode 1)))

en C les commentaires, les fonctions...n'apparaitront pas de la même couleur. Chaque fichier édité par Emacs se terminant par le suffixe .c aura droit à ce traitement.

Pour changer les modes d'affichages des caractères, presser
M-x
puis taper list-faces-display pour faire apparaitre la liste des différentes teintes utilisées. Pour en changer, procéder comme pour l'exemple qui suit :

1.
Entrer
M-x
set-face-background

2.
taper modeline

3.
taper lemonchiffon

Le résultat devrait apparaitre immédiatement. Les autres modes d'affichages des caractères peuvent être changés de la même facon.

Pour que ces modifications perdurent, on peut les indiquer dans le fichier .Xdefaults en utilisant les ressources (voir section 2.13 page [*]), mais c'est plus simple de l'éditer dans le fichier .emacs. Par exemple :

(set-background-color "ivory")
(set-foreground-color "slateblue")
(set-cursor-color "brown")
(set-mouse-color "orangered")

(set-face-foreground 'bold "black")
(set-face-background 'bold "lightpink")
(set-face-foreground 'bold-italic "red")
(set-face-background 'bold-italic "wheat")
(set-face-foreground 'italic "darkolivegreen")
(set-face-background 'modeline "lemonchiffon")
(set-face-foreground 'modeline "maroon")
(set-face-foreground 'underline "violet")

Le tableau 4.1 résume les principales options de Emacs.


Tableau 4.1: Principaux raccourcis sous Emacs.
Commande Signification
C-a Déplacement au début de la ligne.
C-e Déplacement à la fin de la ligne.
C-x C-f Ouvre un fichier.
C-x C-v find-alternate-file.
C-x i insert-file (après le point courant).
C-x C-s Sauvegarde le tampon (fichier).
C-x C-w Sauvegarde le tampon dans un fichier (``save as'').
C-x C-c Quitter Emacs.
C-h Aide.
C-h i Info.
C-f forward-char.
C-b backward-char.
C-d Efface le caratère pointé.
C-k Efface jusqu'à la fin de la ligne.
M-d Efface jusqu'au début du mot.
M-Backspace Efface jusqu'à la fin du mot.
C-w Efface et stocke le texte sélectionné.
C-y Récupère le dernier effacement du texte.
M-f forward-word.
M-b backward-word.
C-p previous-line.
C-n next-line.
M-e end-of-sentence (une phrase peut s'étendre sur plusieurs lignes).
M-a begining-of-sentence.
M-} forward-paragraph.
M-{ backward-paragraph.
M-< Déplacement au début du tampon.
M-> Déplacement à la fin du tampon.
C-v Recule d'un écran.
M-v Avance d'un écran.
C-I Recenter (rafraîchissement et recentrage de l'ecran).
M-n digit-argument (répétition n fois : M-3 C-p pour remonter de 3 lignes).
C-u n universal-argument (4 par défaut, essayer C-u 75 #).
C-_ Annule la dernière modification.
C-s Recherche une chaîne de caractère vers la fin du tampon. Recherche incrémentale, puis C-s nouvelle occurence.
C-r Recherche une chaîne de caractère vers le début du tampon.
M-% Recherche et remplacement de texte.
C-x u undo.
M-x revert-buffer : annule tout depuis la dernière sauvegarde.
C-t Inverser (comme ``toggle'').
M-t Permuter deux mots (positionner le curseur entre les deux mots).
C-x C-t Permute les lignes.
M-u upcase-word.
M-c capitalize-word.
M-l lowercase-word.
RETURN Sortie de la recherche.
C-s C-w Recherche avec le mot sous le curseur.
C-s C-y Recherche avec la fin de la ligne.
C-x 3 Fractionne la fenêtre verticalement.
C-x 2 Fractionne la fenêtre horizontalement.
C-x 1 Ferme toutes les fenêtres Emacs sauf la première.
 


next up previous contents index
Next: Utilisation de TeX et Up: Emacs Previous: Configurer Emacs
MATHIEU DECORE
1999-11-03
Merci de me dire ce que pensez de ce document.