11.9. Accumuler du Texte

Généralement, nous copions ou déplaçons du texte en le coupant puis en le collant, mais il existe d'autres méthodes commodes pour copier un bloc de texte en plusieurs endroits, ou pour copier plusieurs blocs de texte éparpillés en un seul endroit. Pour copier un bloc vers plusieurs endroits, stockez-le dans un registre (Chapter 12). Nous décrivons ici les commandes permettant d'accumuler des morceaux de texte éparpillés dans un tampon ou dans un fichier.

M-x append-to-buffer

Ajoute la région derrière le point dans le tampon spécifié.

M-x prepend-to-buffer

Ajoute la région devant le point dans le tampon spécifié.

M-x copy-to-buffer

Copie la région dans le tampon spécifié, supprimant l'ancien contenu du tampon.

M-x insert-buffer

Insère le contenu du tampon spécifié dans le tampon courant, au point.

M-x append-to-file

Ajoute la région à la fin du fichier spécifié.

Pour accumuler du texte dans un tampon, utilisez la commande M-x append-to-buffer. Cette commande lit un nom de tampon, puis insère une copie de la région dans le tampon spécifié. Si vous spécifiez un tampon non existant, append-to-buffer le crée pour vous. Le texte est inséré à l'endroit du point dans ce tampon. Si vous êtes en train d'éditer ce tampon, le texte copié se retrouve au milieu du texte du tampon, à l'endroit où se trouvait le point.

Le point dans ce tampon est déplacé à la fin du texte copié, des utilisations successives de append-to-buffer accumulent donc le texte dans le tampon spécifié, dans l'ordre dans lequel il a été copié. Pour être précis, append-to-buffer n'ajoute pas toujours à la fin du tampon -- il n'ajoute à la fin que si le point dans ce tampon est à la fin. Cependant, si append-to-buffer est la seule commande utilisée pour modifier un tampon, le point est toujours à la fin.

M-x prepend-to-buffer fonctionne comme append-to-buffer à l'exception que le point dans le tampon de destination est laissé avant le texte copié, de manière que des ajouts successifs ajoutent le texte dans l'ordre inverse. M-x copy-to-buffer est semblable à part que le tampon de destination est effacé, pour que ce tampon ne contienne que le texte nouvellement copié.

Pour récupérer le texte accumulé d'un autre tampon, utilisez M-x insert-buffer ; qui prend aussi un nom de tampon comme argument. Elle insére une copie du texte du tampon nom de tampon dans le tampon sélectionné. Vous pouvez alternativement sélectionner l'autre tampon pour l'éditer, puis éventuellement y déplacer du texte en coupant. Chapter 17, pour des informations supplémentaires sur les tampons.

Plutôt que d'accumuler du texte dans un tampon d'Emacs, vous pouvez ajouter du texte directement dans un fichier avec M-x append-to-file, qui prend nom de fichier comme argument. Elle ajoute le texte de la région à la fin du fichier spécifié. Ce fichier est immédiatement modifié sur le disque.

Vous devez utiliser append-to-file uniquement avec des fichiers qui ne sont pas visités par Emacs. L'utiliser avec un fichier que vous éditez avec Emacs pourrait modifier le fichier à l'insu d'Emacs, ce qui pourrait conduire à perdre certaines de vos éditions.