Una vez que he seleccionado algún texto, uso Alt-w
para copiar la región y luego lo uso ctrl-y
para pegarlo. ¿Hay alguna forma de pegar algo que haya seleccionado y copiado Alt-w
antes de mi último pegado?
copy-paste
Vass
fuente
fuente
C-y M-y
repetirM-y
tantas veces como sea necesario.undo-tree
modo.Respuestas:
Después de tirar con
C-y
, presioneM-y
para ejecutar el comandoyank-pop
. Presiones repetidas recorrerán elkill-ring
.Por ejemplo, si tienes:
y matas
Hello
yworld
(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
fuente
M-y
dice que el comando anterior no era un tirónyank
(C-y
), luego presionarM-y
para recorrer.C-y
ejecuta el comandoyank
, que es análogo al concepto de "pegar". Cada vez que eliminas el texto o lo copias conC-w
(kill-ring-save
), se empuja alkill-ring
. Cuando golpeasC-y
, aparece el primer elemento delkill-ring
y lo inserta en el búfer. Las pulsaciones posteriores deM-y
(kill-ring-pop
) recorrerán los elementos guardados en elkill-ring
.M-w
. Sin embargo, el comando es correcto.@nanny te ha dado la respuesta. Y si
M-y
dice que el comando anterior no era un tirón, entonces probablemente olvidó hacerC-y
primero. IOW, primero debesC-y
tirar de la última matanza, que no es lo que quieres. Luego, debesM-y
obtener el anterior. Puede repetir elM-y
ciclo 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 dekill-ring
(que es para la región) para la selección secundaria. Agrega la selección secundaria a un segundo anillo de selecciónsecondary-selection-ring
, que es similar pero separado dekill-ring
. También evita que la selección secundaria se agregue a lakill-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.fuente
M-w
(Alt-w, si lo desea) para copiar. Si lo haceC-h k M-w
, verá queM-w
está vinculadokill-ring-save
, y verá lo que hace ese comando: copia la región enkill-ring
. Los fragmentos de texto que se encuentran en elkill-ring
se denominan "asesinatos", ya sea que llegaron allí eliminando texto o copiando texto (por ejemplo, usandoM-w
).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 obligadoM-y
. Hace que sea muy rápido y fácil ver las entradas existentes, reducirlas y elegir la que desee.fuente
Después de pegar,
M-y
reemplazará el texto pegado con el texto copiado previamente.Si presiona
M-y
varias veces, puede recorrer todo el texto copiado (o cortado / eliminado) previamentefuente
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 : explora
kill-ring
para 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 delkill-ring
osecondary-selection-ring
, dependiendo del último tipo tirón (que necesita la bibliotecasecond-sel.el
por la segunda alternativa). Si el último comando no fue un tirón, entonces esto es lo mismo queC-- C-y
(ver a continuación).C-- C-y
(C-y
con 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ónC-S-return
copiar un candidato al otro anillo de selecciónHelm - Ver la respuesta de @ bluejayen esta página.
fuente