19.1. Commandes Souris Pour l'Édition

Les commandes souris pour sélectionner et copier une région sont pour la plupart compatibles avec le programme xterm. Vous pouvez utiliser les mêmes commandes souris pour copier du texte entre Emacs et les autres programmes clients X.

+ Si vous sélectionnez une région avec une de ces commandes souris, puis tapez immédiatement après la touche de fonction DELETE, vous supprimez la région que vous avez sélectionné. La touche de fonction BACKSPACE et le caractère ASCII DEL ne font pas cela ; si vous tapez une autre touche entre la commande souris et DELETE, la région n'est pas supprimée.

Mouse-1

Déplace le point à l'endroit du clic (mouse-set-point). C'est normalement le bouton gauche.

Drag-Mouse-1

Définit la région comme contenant le texte que vous avez sélectionné en tra^iant la souris, et la copie dans le presse-papiers (mouse-set-region). Vous pouvez spécifier les deux extrémités de la région avec cette unique commande.

Si vous déplacez la souris au delà du haut ou du bas de la fenêtre tout en la tra^inant, la fenêtre défile à un rythme régulier jusqu'à ce que vous replaciez la souris dans la fenêtre. De cette manière, vous pouvez sélectionner des régions qui ne rentrent pas entièrement dans l'écran. Le nombre de lignes défilées à chaque pas dépend de la distance entre la souris et la limite de la fenêtre ; la variable mouse-scroll-min-lines spécifie une taille minimale du pas.

Mouse-2

Colle le texte dernièrement coupé, à l'endroit du clic (mouse-yank-at-click). C'est normalement le bouton central.

Mouse-3

Cette commande, mouse-save-then-kill, a plusieurs fonctions dépendant de l'endroit où vous cliquez et le status de la région.

La cas le plus élémentaire est lorsque vous cliquez Mouse-1 à un endroit puis Mouse-3 à un autre endroit. Ceci sélectionne le texte entre ces deux positions comme région. Il copie aussi la nouvelle région dans le presse-papiers, pour que vous puissiez le copier à un autre endroit.

Si vous cliquez Mouse-1 dans le texte, faites défiler la fenêtre avec la barre de défilement puis cliquez Mouse-3, il se souvient de l'endroit où se trouvait le point avant le défilement (où vous l'avez placé avec Mouse-1), et utilise cette position comme autre extrémité de la région. Ainsi vous pouvez sélectionner une région qui n'entre pas entièrement dans l'écran.

Plus généralement, si vous n'avez pas de région en surbrillance, Mouse-3 sélectionne le texte entre le point et la position du clic comme région. Il fait ceci en plaçant la marque où se trouvait le point, et en déplaçant le point où vous cliquez.

Si vous avez une région en surbrillance, ou si la région a été définie juste avant en tra^inant le bouton 1, Mouse-3 ajuste l'extrémité la plus proche de la région en la déplaçant à l'endroit du clic. Le texte de la région ajustée remplace aussi le texte de l'ancienne région dans le presse-papiers.

Si vous avez d'abord spécifié la région en utilisant un double ou triple Mouse-1, la région définie consistant alors en mots entiers ou lignes entières, l'ajustement de la région avec Mouse-3 procède aussi par mots entiers ou lignes entières.

Si vous utilisez Mouse-3 une seconde fois consécutivement, au même endroit, vous coupez la région déjà sélectionnée.

Double-Mouse-1

Cette touche place la région autour du mot que vous cliquez. Si vous cliquez sur un caractère avec une syntaxe "symbole" (comme un souligné, dans le mode C), elle place la région autour du symbole entourant ce caractère.

Si vous cliquez sur un caractère avec une syntaxe ouverture ou fermeture de parenthèse, elle place la région autour du groupe parenthésé commençant ou finissant à ce caractère. Si vous cliquez sur un caractère avec une syntaxe délimitation de cha^ine (comme un guillemet simple ou double en C), elle place la région autour de la constante cha^ine (en utilisant des heuristiques pour déterminer si ce caractère est au début ou à la fin de la constante).

Double-Drag-Mouse-1

Cette touche sélectionne une région faite de mots sur lesquels vous avez tra^iné la souris.

Triple-Mouse-1

Cette touche place la région autour de la ligne cliquée.

Triple-Drag-Mouse-1

Cette touche sélectionne une région faite de lignes sur lesquelles vous avez tra^iné la souris.

La moyen le plus simple de couper du texte avec la souris est de presser Mouse-1 à une extrémité, puis presser Mouse-3 deux fois à l'autre extrémité. Section 11.7. Pour copier le texte dans le presse-papiers sans le supprimer du tampon, pressez Mouse-3 seulement une fois--une tra^inez juste la souris à travers le texte avec Mouse-1. Vous pouvez alors copier le texte autre part en le collant.

Pour coller le texte coupé ou copié autre part, déplacez la souris à cet endroit et pressez Mouse-2. Section 11.8. Cependant, si mouse-yank-at-point est non nil, Mouse-2 colle le texte au point. L'endroit où vous cliquez n'est alors pas important, ni même dans laquelle des fenêtres du cadre vous cliquez. La valeur par défaut est nil. Cette variable affecte aussi le collage de la seconde sélection.

Pour copier du texte dans une autre fenêtre X, coupez-le ou sauvegardez-le dans le presse-papiers. Sous X, cela met aussi la sélection primaire. Utilisez alors la commande "coller" du programme contrôlant l'autre fenêtre X pour insérer le texte de la sélection.

Pour copier du texte provenant d'une autre fenêtre X, utilisez la commande "couper" ou "copier" du programme contrôlant l'autre fenêtre, pour sélectionner le texte que vous désirez copier. Collez-le alors dans Emacs avec C-y ou Mouse-2.

Ces commandes de coupe et de colle fonctionnent aussi sous MS-Windows.

Lorsqu'Emacs place du texte dans le presse-papiers, ou déplace du texte en haut de la pile du presse-papiers, il remplit aussi la sélection primaire du serveur X. C'est ainsi que d'autres applications X peuvent accéder au texte. Emacs enregistre aussi le texte dans le tampon de coupe, mais seulement si le texte est assez court (x-cut-buffer-max spécifie le nombre maximum de caractères) ; placer de longs morceaux de texte dans le tampon de coupe peut être lent.

Les commandes pour coller la première entrée du presse-papiers vérifient d'abord l'existence d'une sélection primaire dans un autre programme ; après cela, elles vérifient l'existence de texte dans le tampon de coupe. Si aucune de ces sources ne fournit de texte à coller, le contenu du presse-papiers est utilisé.