La modification textuelle – au point d'insertion – ne concerne que les Buffers.
insertion de caractères
| " " ... "~" | le caractère est inséré dans "l'angle supérieur gauche" du curseur, lequel est décalé d'une colonne vers la droite. |
| ^M | un retour à la ligne est traité comme un caractère « graphique », en respectant les règles d'indentation. |
| ^O | identique à ^M, mais le curseur reste à sa position d'écran. |
Par exemple :

destruction
| DEL ^H | destruction du curseur précédant le curseur courant : ce peut être un caractère ou une zone étendue. Si le curseur est au début du Buffer local, la destruction est refusée – elle conduirait à supprimer un curseur qui n'appartient pas au Buffer dans lequel on travaille, ce qui serait incohérent. |
| ^D | destruction du curseur sur lequel on est placé. |
| ESC-h | destruction du mot précédant le curseur. Si la zone comprise entre le début du mot et le début du curseur courant chevauche le Buffer local et un autre Buffer, la destruction est limitée aux éléments du Buffer local. |
| ESC-d | destruction du mot suivant le curseur. Même remarque que pour ESC-h. |
fichiers
| ^X-^I | insérer le fichier de nom donné devant le curseur. |
| ^X-i | insérer le Buffer de nom donné devant le curseur. Note : l'insertion est faite « à plat », c'est-à-dire qu'on perd l'information : « la zone de texte provient du Buffer de nom "XXX" ». |
| ^X-^O | lire dans le fichier attaché au Buffer l'ancienne version du texte. |
| ^X-r | lire le fichier de nom donné, et le placer dans le Buffer. Note : pour les commandes de lecture de fichier, les fenêtres qui dépendent du Buffer courant sont fermées – parce qu'elles n'existent plus après la lecture. |
Kill Buffer
Le Kill Buffer est un Buffer qu'il est spécialement aisé de remplir ou d'insérer dans le Buffer courant. Il peut aussi être édité dans une fenêtre.
Une suite de commandes plaçant des "bouts de texte" dans le Kill Buffer correspond à des ajouts ; mais la première commande écrase le contenu antérieur du Kill Buffer.
Note : l'ajout tient compte de la structure du texte, c'est-à-dire que la zone de texte placée dans le Kill Buffer ne chevauche pas plusieurs Buffers locaux.
| ^K | détruire la ligne et la placer dans le Kill Buffer : - si le curseur est en fin de ligne, on le place isolément dans le Kill Buffer ; - sinon, on place l'ensemble des curseurs présents du curseur courant au premier curseur de fin de ligne, on compris ce dernier. | |
| * | ESC-k | identique à ^K, mais ne détruit pas la ligne. |
| ^W | détruire la région, c'est-à-dire le texte compris entre la marque (posée par ^@) et le curseur courant, et la placer dans le Kill Buffer. | |
| * | ... | identique à ^W, mais ne détruit pas la région. |
| ESC-^A | ajouter en fin de Buffer de nom donné la région. Note sur la marque : la marque est maintenue à une place cohérente, même si des modifications à d'autres points du texte la déplacent virtuellement. | |
| * | ^X-^K | détruire le Buffer local courant et le placer dans le Kill Buffer. |
| * | ^X-k | identique à ^X-^K, mais ne détruit pas le Buffer local. |
| ^Y | insérer le contenu du Kill Buffer devant le curseur courant. | |
Du fait du grand nombre de commandes possibles, on inclut une commande assistée :
| * | ESC-^K | c'est la commande :"Copy/Move to Kill Buffer: Buffer/Region"Copier/Détruire vers le Kill Buffer : le Buffer/la région. |
ajout en fin de Buffer local
On introduit un mode d'ajout en fin de Buffer local, parce que :
L'idée de mode est très opposée à la philosophie d'emacs : on l'introduit parce qu'elle se révèle nécessaire, mais on le dit clairement – il s'affiche sur la ligne de contrôle le message : "Append to local Buffer".
Par exemple :

On est placé automatiquement en mode « ajout » quand on "dépasse", en fin, le Buffer local. On peut aussi s'y placer explicitement :
| * | ^^ | se placer en mode « ajout ». |