Je voudrais insérer (par programmation) du texte juste après le point (sans le déplacer). Je suis venu avec ceci:
(save-excursion (insert "my text"))
Cela semble fonctionner. Est-ce un bon moyen de faire ce que je veux? Par exemple, y a-t-il des situations où cela pourrait se briser? (À part ceux où ils insert
se briseraient de toute façon, comme les tampons en lecture seule.) Est-ce différent de ce que feraient les pirates Elisp plus expérimentés?
text-editing
point
mbork
la source
la source
save-excursion
+insert
est la voie à suivre.Réponses:
Un exemple très courant de ce comportement se trouve
electric-pair-mode
dans la bibliothèque standard Emacs. Si vous n'avez jamais utilisé ce mode auparavant, (en citant le manuel ):Vous pouvez consulter le code pour
electric-pair-post-self-insert-function
voir comment il réalise l'insertion. Divulgacher:la source
Oui, c'est la façon la plus idiomatique d'insérer du texte après un point que je connaisse.
save-excursion
est très résistant aux changements dans le tampon, c'est donc le moyen préféré pour effectuer des modifications destructives. Le seul endroit où vous risquez de rencontrer des problèmes est celui où vous auriez des problèmes avecinsert
lui-même, comme les tampons où du texte est en lecture seule.la source