[ < ] [ > ]   [ << ] [ Up ] [ >> ]         [Top] [Contents] [Index] [ ? ]

E.4 Deshacer cambios

Puede deshacer todos los cambios recientes en el texto del búfer, hasta cierto punto. Cada búfer registra individualmente los cambios, y el comando deshacer siempre se aplica al búfer actual. Por lo general cada comando de edición crea una entrada propia en los registros de deshacer, pero algunos comandos como query-replace crean muchas entradas, y comandos muy sencillos como la autoinserción de caracteres a menudo se agrupan para que deshacer sea menos tedioso.

C-x u

Deshace un lote de cambios: generalmente, un comando (undo).

C-_

Lo mismo.

C-u C-x u

Deshace un lote de cambios en la región.

El comando C-x u o C-_ es la manera de deshacer. La primera vez que use este comando, deshará el último cambio. El punto retrocede a donde estaba antes del comando que produjo el cambio.

Repeticiones consecutivas de C-_ o C-x u deshacen cambios cada vez más anteriores, hasta el límite de la información de deshacer disponible. Si todos los cambios registraron la fueron deshechos, el comando deshacer muestra un mensaje de error y no hace nada.

Cualquier comando que no sea deshacer corta la secuencia de comandos deshacer. A partir de ese momento, los comandos deshacer anteriores se convierten en cambios ordinarios que puede deshacer. Por lo tanto, para rehacer cambios que haya deshecho, presione C-f o cualquier otro comando que corte inofensivamente la secuencia de deshacer, y luego teclee más comandos de deshacer.

El deshacer ordinario se aplica a todos los cambios realizados en el búfer activo. También puede usar un deshacer selectivo, limitado a la región activa. Para hacer esto, especifique la región que desee, y luego ejecute el comando undo con un argumento prefijo (no importa el valor): C-u C-x u o C-u C-_. Esto deshace el cambio más reciente en la región. Para deshacer más cambios en la misma región, repita el comando undo (no se precisa argumento prefijo). En el modo Transient Mark, cualquier uso de undo cuando hay una región activa efectúa deshacer selectivo; no necesita un argumento prefijo.

Si nota que un búfer se ha modificado accidentalmente, la manera más fácil de recuperarlo es teclear C-_ repetidamente hasta que desaparezcan los asteriscos del frente de la línea de modo. Entonces, todas las modificaciones que hizo se habrán cancelado. Cuando un comando deshacer hace desaparecer los asteriscos de la línea de modo, significa que el contenido del búfer es el mismo que el de la última vez que se leyó o guardó el archivo.

Si no recuerda si cambió el búfer intencionalmente, presione C-_ una vez. Cuando vea deshecho el último cambio que hizo, verá si fue un cambio intencional. Si fue un accidente, déjelo deshecho. Si fue a propósito, rehaga el cambio como se describió arriba.

No todos los búferes registran información de deshacer. Aquellos búferes cuyo nombre empieza con espacio no la registra; estos búferes son usado internamente por Emacs y sus extensiones para alojar texto que los usuarios normalmente no miran ni editan.

No puede deshacer el simple movimiento del cursor; sólo los cambios en el contenido del búfer guardan información de deshacer. Sin embargo, algunos comandos de movimiento del cursor establecen la marca, así que si utiliza estos comandos de vez en cuando, puede volver a los lugares donde estuvo recorriendo el anillo de marcas (see section El anillo de marcas).

Cuando la información de deshacer de un búfer crece demasiado, Emacs descarta la información de deshacer más antigua de vez en cuando (durante la recolección de basura). Puede especificar la cantidad de información de deshacer que quiere mantener asignando dos variables: undo-limit y undo-strong-limit. Sus valores se expresan en unidades de bytes de espacio.

La variable undo-limit establece un límite blando: Emacs conserva información de deshacer para los comandos que quepan en este tamaño, y tal vez lo excedan, pero no mantiene información de comandos más antiguos. Su valor predeterminado es 20000. La variable undo-strong-limit establece un límite más estricto: el comando que sobrepasa el límite de tamaño es descartado. Su valor predeterminado es 30000.

Independientemente de los valores de estas variables, el cambio más reciente nunca se descarta, así que no hay peligro de que la recolección de basura que ocurra justo después de un gran cambio no intencional le impida deshacerlo.

El motivo por el cual el comando undo tiene asignadas dos teclas, C-x u y C-_,es que merece una tecla de un solo carácter, pero en algunos teclados no es evidente cómo teclear C-_. C-x u es una alternativa que puede teclear sin complicaciones en cualquier terminal.


[ < ] [ > ]   [ << ] [ Up ] [ >> ]         [Top] [Contents] [Index] [ ? ]

This document was generated by Roberto on abril, 2 2007 using texi2html 1.76.