Saltar al contenido

¿Cómo se ‘rehacen’ los cambios después de ‘deshacer’ con Emacs?

Hola usuario de nuestra página, hemos encontrado la respuesta a lo que buscas, continúa leyendo y la encontrarás a continuación.

Solución:

Versión corta: al deshacer el deshacer. Si deshace y luego ejecuta un comando que no es de edición, como Cf., luego el próximo deshacer deshacerá el deshacer, resultando en un rehacer.

Versión más larga:

Puede pensar en deshacer como operar en una pila de operaciones. Si ejecuta algún comando (incluso un comando de navegación como Cf.) después de una secuencia de operaciones de deshacer, todas las operaciones de deshacer se envían a la pila de operaciones. Entonces, el próximo deshacer deshace el último comando. Suponga que tiene una secuencia de operación que se ve así:

  1. Inserta “fu”
  2. Insertar “barra”
  3. Inserta “Me encanta el spam”

Ahora, deshazte. Deshace la última acción, dando como resultado la siguiente lista:

  1. Inserta “fu”
  2. Insertar “barra”

Si hace algo más que deshacer en este punto, por ejemplo, Cf., la pila de operaciones se ve así:

  1. Inserta “fu”
  2. Insertar “barra”
  3. Inserta “Me encanta el spam”
  4. Deshacer insertar “Me encanta el spam”

Ahora, cuando deshaces, lo primero que se deshace es deshacer. Dando como resultado su pila original (y el estado del documento):

  1. Inserta “fu”
  2. Insertar “barra”
  3. Inserta “Me encanta el spam”

Si ejecuta un comando de modificación para romper la secuencia de deshacer, ese comando se agrega después del deshacer y, por lo tanto, es lo primero que se deshace después. Supongamos que retrocedió sobre “barra” en lugar de presionar Cf.. Entonces habrías tenido

  1. Inserta “fu”
  2. Insertar “barra”
  3. Inserta “Me encanta el spam”
  4. Deshacer insertar “Me encanta el spam”
  5. Eliminar “barra”

Esta adición/nueva adición ocurre hasta el infinito. Toma un poco de tiempo acostumbrarse, pero realmente le da a Emacs un mecanismo de deshacer/rehacer altamente flexible y poderoso.

Deshacer: C-_

Para rehacer después de deshacer: CG C-_

Escriba varias veces en C-_ para rehacer lo que ha sido deshecho por C-_
Para rehacer un comando de emacs varias veces, ejecute su comando y luego escriba Cxz y luego escriba muchas veces en z key para repetir el comando (interesante cuando desea ejecutar varias veces al mismo macro)

  • A deshacer una vez: C-/
  • Para deshacer dos veces: C-/C-/
  • A rehacer una vez, inmediatamente después de deshacer: C-gC-/
  • Para rehacer dos veces, inmediatamente después de deshacer: C-gC-/C-/. Tenga en cuenta que C-g no se repite.
  • A deshacer inmediatamente de nuevo, una vez: C-gC-/
  • Para deshacer inmediatamente de nuevo, dos veces: C-gC-/C-/
  • A rehacer de nuevo, lo mismo…

Si ha pulsado alguna keys (ya sea escribiendo caracteres o simplemente moviendo el cursor) desde su último comando de deshacer, no hay necesidad de escribir C-g antes de su próximo deshacer/rehacer. C-g es solo una caja fuerte key golpear que no hace nada por sí solo, pero cuenta como un no deshacer key para indicar el final de la secuencia de deshacer. Presionando otro comando como C-f también funcionaría; es solo que movería el cursor de donde lo tenías.

si golpeas C-g u otro comando cuando no era su intención, y ahora está deshaciendo en la dirección incorrecta, simplemente presione C-g para invertir su dirección de nuevo. Tendrá que deshacer todo el proceso de rehacer y deshacer accidentalmente antes de llegar a los deshacer que desea, pero si sigue presionando C-/, eventualmente alcanzará el estado que desea. De hecho, se puede acceder a todos los estados en los que ha estado el búfer, si presiona C-g una vez y luego presione C-/ suficientes veces.

Atajos alternativos para undo, aparte de C-/, son C-_, C-x u, y M-xundo.

Consulte Deshacer en el Manual de Emacs para obtener más detalles sobre el sistema de deshacer de Emacs.

Nos puedes añadir valor a nuestro contenido aportando tu experiencia en los comentarios.

¡Haz clic para puntuar esta entrada!
(Votos: 0 Promedio: 0)



Utiliza Nuestro Buscador

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *