¿Cómo pegar el texto que se había copiado (alt-w) antes de mi último pegado (ctrl-y)?

7

Una vez que he seleccionado algún texto, uso Alt-wpara copiar la región y luego lo uso ctrl-ypara pegarlo. ¿Hay alguna forma de pegar algo que haya seleccionado y copiado Alt-wantes de mi último pegado?

Vass
fuente
1
Intenta C-y M-yrepetir M-ytantas veces como sea necesario.
legoscia
Ver también undo-treemodo.
mankoff

Respuestas:

5

Después de tirar con C-y, presione M-ypara ejecutar el comando yank-pop. Presiones repetidas recorrerán el kill-ring.

Por ejemplo, si tienes:

Hello, world!

y matas Helloy world(te , !queda), luego ve a la siguiente línea y presiona:

C-y world

M-y Hello

SPCC-y Hello Hello

C--M-y Hello world

niñera
fuente
cuando presiono M-ydice que el comando anterior no era un tirón
Vass
@Vass Sí, tendrá que ejecutar el comando yank( C-y), luego presionar M-ypara recorrer.
niñera
Selecciono texto y luego presiono Cy y se pega en el acto
Vass
1
@Vass No entiendo lo que quieres decir. C-yejecuta el comando yank, que es análogo al concepto de "pegar". Cada vez que eliminas el texto o lo copias con C-w( kill-ring-save), se empuja al kill-ring. Cuando golpeas C-y, aparece el primer elemento del kill-ringy lo inserta en el búfer. Las pulsaciones posteriores de M-y( kill-ring-pop) recorrerán los elementos guardados en el kill-ring.
niñera
1
@Vass, vaya, eso es un error tipográfico de mi parte. Debería haber leído M-w. Sin embargo, el comando es correcto.
niñera
3

@nanny te ha dado la respuesta. Y si M-ydice que el comando anterior no era un tirón, entonces probablemente olvidó hacer C-yprimero. IOW, primero debes C-ytirar de la última matanza, que no es lo que quieres. Luego, debes M-yobtener el anterior. Puede repetir el M-yciclo hacia atrás.

Consulte el manual de Emacs, Yanking de nodos para obtener información general sobre cómo copiar y pegar, y el kill-ring.


De todos modos, quería mencionar la selección secundaria . En particular, puede ser muy útil en situaciones en las que de otro modo querrías usar C-y M-y.

La selección secundaria es justo lo que dice: una segunda selección, no relacionada con la selección que es la región en Emacs. Permanece disponible independientemente de si la región está activa y su posición no se ve afectada por el punto o la marca.

Si usa la biblioteca second-sel.el, también obtendrá muchas de las ventajas de kill-ring(que es para la región) para la selección secundaria. Agrega la selección secundaria a un segundo anillo de selección secondary-selection-ring, que es similar pero separado de kill-ring. También evita que la selección secundaria se agregue a la kill-ring, por lo que ahora tiene dos anillos de historial de selección separados.

M-y luego cambia los elementos del anillo apropiado, dependiendo de si sigue un tirón de la primaria (región) o pegando la selección secundaria.

Dibujó
fuente
entonces no uso Alt-w para copiar? Tengo que matarlo?
Vass
2
No, puede usar M-w(Alt-w, si lo desea) para copiar. Si lo hace C-h k M-w, verá que M-westá vinculado kill-ring-save, y verá lo que hace ese comando: copia la región en kill-ring. Los fragmentos de texto que se encuentran en el kill-ringse denominan "asesinatos", ya sea que llegaron allí eliminando texto o copiando texto (por ejemplo, usando M-w).
Drew
2

La mejor solución que he encontrado es helm-show-kill-ring. Usé Helm durante bastante tiempo antes de darme cuenta de que esto existía. Lo tengo obligado M-y. Hace que sea muy rápido y fácil ver las entradas existentes, reducirlas y elegir la que desee.

Blujay
fuente
1

Después de pegar, M-yreemplazará el texto pegado con el texto copiado previamente.

Si presiona M-yvarias veces, puede recorrer todo el texto copiado (o cortado / eliminado) previamente

tomwalker
fuente
0

Si desea ver fácilmente fragmentos de texto copiado y eliminado anteriormente, y elegir uno o más de estos elementos, estos pueden ayudar:

  • Examinar Kill Ring : explorakill-ringpara elegir un kill para tirar. Esa página muestra varias bibliotecas alternativas que ofrecen este comportamiento de diferentes maneras. La principal esbrowse-kill-ring.el.

  • carámbanos -

    • M-y: Yanqui, ya sea del kill-ringo secondary-selection-ring, dependiendo del último tipo tirón (que necesita la biblioteca second-sel.elpor la segunda alternativa). Si el último comando no fue un tirón, entonces esto es lo mismo que C-- C-y(ver a continuación).
    • C-- C-y( C-ycon un prefijo negativo arg): le permite elegir cualquier cantidad de asesinatos para insertar utilizando la finalización. Durante la finalización puede usar:

      • C-, ordenar los candidatos para tirar de diferentes maneras (repetir)
      • S-delete para eliminar una entrada candidata del anillo de selección
      • C-S-return copiar un candidato al otro anillo de selección
  • Helm - Ver la respuesta de @ bluejayen esta página.

Dibujó
fuente