2010-07-01 10 views
23

Dans Emacs, comment copier une zone de texte (pour la coller dans un autre tampon) sans la détruire (par exemple: le fichier dont je veux copier est ouvert en lecture seul mode, donc le tuer n'est pas une option).Emacs: copier du texte (sans le tuer)

+0

N'est-ce pas une question pour Super User? (http://superuser.com/) – Chetan

+0

Probablement, mais consultez la pléthore de tags emacs http://stackoverflow.com/questions/tagged/emacs dans SO vs SU http://superuser.com/questions/tagged/emacs –

+0

Les questions d'Emacs sont difficiles, voir http://meta.stackexchange.com/questions/36017/what-site-should-host-questions-about-emacs-keybinding pour une discussion dans un contexte légèrement différent. – dmckee

Répondre

47

marque qui vient d'elle (C-espace à une extrémité de la gamme, et passer à l'autre extrémité) et l'utilisation d'Mw (kill-ring-save):

(kill-ring-save END BEG Enregistrez la région comme si elle était tuée, mais ne la tuez pas.

8

Deux autres façons:

  • Vous pouvez également sélectionner avec la souris (bouton de la souris-1), qui copie la région à l'anneau de tuer.

  • Lorsque la mémoire tampon est en lecture seule, on peut utiliser les routines kill-* (C-w et C-k) pour copier la région/ligne à l'anneau tués. Emacs émet un bip à vous, mais il est une caractéristique documentée:

Si le tampon est en lecture seule, Emacs bip et ne pas supprimer le texte , mais mettre le texte dans le kill ring en tous cas. Cela signifie que vous pouvez utiliser les commandes kill pour copier le texte à partir d'un tampon en lecture seule.

+0

Le comportement de sélectionner dans le presse-papiers fonctionne dans X11, mais je crois que c'est parce qu'il s'agit d'un comportement X11. Ou est-ce que cela fonctionne aussi dans d'autres contextes? – dmckee

+0

@dmckee L'interaction avec X est indépendante du kill-ring. Vous pouvez copier vers X sans le kill-ring, et vous pouvez mettre des objets sur le kill-ring sans sortir X. Mais, en général, ils sont accrochés ensemble. Je ne faisais que décrire le comportement d'Emacs, qui fonctionne que vous soyez en X ou pas. –

0

J'utilise la commande

M-x append-to-file 

le problème est que si le fichier que vous souhaitez copier à est ouvert, vous aurez besoin de rafraîchir l'écran en quelque sorte de sorte que les nouvelles choses y apparaît . En outre, les éléments que vous avez copiés iront à la fin du fichier que vous avez choisi comme cible.

Vous pouvez également trouver les commandes

M-x write-region 

et

C-x i (insert-file) 

utile.

Questions connexes