mirror of
https://git.savannah.gnu.org/git/emacs.git
synced 2024-11-22 07:09:54 +00:00
1231 lines
52 KiB
JavaScript
1231 lines
52 KiB
JavaScript
Tutorial de Emacs. Vea al final las condiciones de copiado.
|
|
|
|
Generalmente los comandos de Emacs involucran la tecla CONTROL
|
|
(algunas veces llamada CTRL O CTL) o la tecla meta (algunas veces
|
|
llamada ALT). En lugar de escribir completamente esto en cada
|
|
ocasión, usaremos las siguientes abreviaturas.
|
|
|
|
C-<car> significa mantener presionada la tecla CONTROL mientras
|
|
teclea el carácter <car>. Por lo tanto C-f será: Mantenga
|
|
presionada la tecla CONTROL y teclee f.
|
|
M-<car> significa mantener presionada la tecla META o ALT mientras
|
|
teclea <car>. Si no hay teclas META o ALT, en su lugar
|
|
presione y libere la tecla ESC y luego teclee <car>.
|
|
Escribimos <ESC> para referirnos a la tecla ESC.
|
|
|
|
Nota importante: para terminar la sesión de Emacs teclee C-x C-c (dos
|
|
caracteres). Para cancelar un comando parcialmente introducido,
|
|
teclee C-g.
|
|
Los caracteres «>>» en el margen izquierdo indican instrucciones para
|
|
que usted trate de usar un comando. Por ejemplo:
|
|
<<Blank lines inserted around following line by help-with-tutorial>>
|
|
[Mitad de página en blanco para propósitos didácticos. El texto continúa abajo]
|
|
>> Ahora teclee C-v (ver la próxima pantalla) para desplazarse a la
|
|
siguiente pantalla (hágalo manteniendo la tecla control
|
|
oprimida mientras teclea v). Desde ahora debería hacer esto
|
|
cada vez que termine de leer la pantalla.
|
|
|
|
Note que se superponen dos líneas cuando se mueve de pantalla en
|
|
pantalla; esto provee una continuidad para que pueda seguir leyendo el
|
|
texto.
|
|
|
|
Lo primero que necesita saber es cómo moverse de un lugar a otro en el
|
|
texto. Ya sabe cómo avanzar una pantalla, con C-v. Para retroceder
|
|
una pantalla teclee M-v (mantenga oprimida la tecla META y teclee v, o
|
|
teclee <ESC>v si no tiene las teclas META o ALT).
|
|
|
|
>> Intente teclear M-v y luego C-v, varias veces.
|
|
|
|
|
|
* RESUMEN
|
|
---------
|
|
|
|
Los siguientes comandos son útiles para ver pantallas completas:
|
|
|
|
C-v Avanzar una pantalla completa
|
|
M-v Retroceder una pantalla completa
|
|
C-l Limpiar la pantalla y mostrar todo el texto de nuevo,
|
|
moviendo el texto alrededor del cursor al centro de la
|
|
pantalla (Esto es CONTROL-L, no CONTROL-1.)
|
|
|
|
>> Encuentre el cursor, y fíjese qué texto hay cerca de éste.
|
|
Luego teclee C-l. Encuentre el cursor otra vez y note que el mismo
|
|
texto está todavía cerca del cursor, pero ahora está en el centro
|
|
de la pantalla.
|
|
Si vuelve a teclear C-l, ese texto se moverá al principio de la
|
|
pantalla. Al teclear C-l otra vez, se moverá al final de la
|
|
pantalla.
|
|
|
|
Si su terminal las soporta, también puede usar las teclas AvPág o
|
|
RegPág para moverse por pantallas completas, pero puede editar más
|
|
eficientemente si usa C-v y M-v.
|
|
|
|
* MOVIMIENTO BÁSICO DE CURSOR
|
|
-----------------------------
|
|
|
|
Es útil moverse de una pantalla completa a otra pero, ¿cómo moverse a
|
|
un lugar específico dentro del texto en la pantalla?
|
|
|
|
Puede hacerlo de diversas formas. Puede usar las teclas de flechas,
|
|
pero es más eficiente mantener las manos en la posición estándar y
|
|
usar los comandos C-p, C-b, C-f, y C-n. Estos caracteres son
|
|
equivalentes a las cuatro teclas de flechas, de esta manera:
|
|
|
|
Línea anterior, C-p
|
|
:
|
|
:
|
|
Atrás, C-b.... Posición actual del cursor .... Adelante, C-f
|
|
:
|
|
:
|
|
Línea siguiente, C-n
|
|
|
|
>> Mueva el cursor a la línea en la mitad del diagrama
|
|
usando C-n o C-p. Luego teclee C-l para ver el
|
|
diagrama completo centrado en la pantalla.
|
|
|
|
Le resultará fácil recordar estas letras por las palabras que
|
|
representan: P de Previous (anterior), N de Next (siguiente), B de
|
|
Backward (atrás) y F de Forward (adelante). Estará usando estos
|
|
comandos de posicionamiento básico del cursor todo el tiempo.
|
|
|
|
>> Teclee algunos C-n para traer el cursor a esta línea.
|
|
|
|
>> Muévase a la línea con C-f y hacia arriba con algunos C-p. Observe
|
|
lo que hace C-p cuando el cursor está en medio de la línea.
|
|
|
|
Cada línea de texto termina con un carácter de nueva línea (Newline),
|
|
que sirve para separarla de la línea siguiente. (Normalmente, la
|
|
última línea de un archivo termina con un carácter de nueva línea,
|
|
pero Emacs no requiere que sea así.)
|
|
|
|
>> Intente usar C-b al comienzo de una línea. Debería moverse al
|
|
final de la línea previa. Esto sucede porque retrocede a través
|
|
del carácter de nueva línea.
|
|
|
|
C-f puede moverse a través de una nueva línea igual que C-b.
|
|
|
|
>> Teclee algunos C-b más para que sienta por dónde se encuentra el
|
|
cursor.
|
|
Luego teclee C-f para regresar al final de la línea.
|
|
Luego teclee otro C-f más para moverse a la línea siguiente.
|
|
|
|
Cuando pase el tope o el final de la pantalla, se mostrará el texto
|
|
más allá del borde de la pantalla. Esto recibe el nombre de
|
|
«desplazamiento». Esto le permite a Emacs mover el cursor al lugar
|
|
especificado en el texto sin moverlo fuera de la pantalla.
|
|
|
|
>> Intente mover el cursor fuera del borde de la pantalla con C-n, y
|
|
observe lo que sucede.
|
|
|
|
Si moverse por caracteres es muy lento, puede moverse por palabras.
|
|
M-f (META-f) mueve adelante una palabra y M-b mueve atrás una palabra.
|
|
|
|
>> Teclee algunos M-f y M-b
|
|
|
|
Cuando está en la mitad de una palabra, M-f mueve al final de la
|
|
palabra. Cuando está en un espacio entre dos palabras, M-f mueve al
|
|
final de la siguiente palabra. M-b trabaja de la misma forma en la
|
|
dirección opuesta.
|
|
|
|
>> Teclee algunos M-f y M-b, intercaladas con C-f y C-b de tal forma
|
|
que observe la acción de M-f y M-b desde varios sitios dentro y
|
|
entre palabras.
|
|
|
|
Note el paralelo entre C-f y C-b de un lado y M-f y M-b del otro. Muy
|
|
frecuentemente los caracteres Meta se usan para operaciones
|
|
relacionadas con las unidades definidas por el lenguaje (palabras,
|
|
oraciones y párrafos), mientras los caracteres Control operan sobre
|
|
unidades básicas que son independientes de lo que está editando
|
|
(caracteres, líneas, etc.).
|
|
|
|
Este paralelo se aplica entre líneas y oraciones: C-a y C-e para
|
|
moverse al comienzo o al final de la línea; y M-a y M-e para mover al
|
|
comienzo o al final de una oración.
|
|
|
|
>> Intente algunos C-a, y después unos cuantos C-e.
|
|
>> Intente algunos M-a, y después unos cuantos M-e.
|
|
|
|
Vea cómo la repetición de C-a no hace nada, pero la repetición de M-a
|
|
sigue moviendo una oración más. Aunque no son muy análogas, cada una
|
|
parece natural.
|
|
|
|
La ubicación del cursor en el texto se llama también «punto». En
|
|
otras palabras, el cursor muestra sobre la pantalla donde está
|
|
situado el punto dentro del texto.
|
|
|
|
Aquí hay un resumen de operaciones simples de movimiento del cursor,
|
|
incluyendo los comandos de movimiento por palabra y oración:
|
|
|
|
C-f Avanzar un carácter
|
|
C-b Retroceder un carácter
|
|
|
|
M-f Avanzar una palabra
|
|
M-b Retroceder una palabra
|
|
|
|
C-n Avanzar a la línea siguiente
|
|
C-p Retroceder a la línea anterior
|
|
|
|
C-a Retroceder al comienzo de la línea
|
|
C-e Avanzar al final de la línea
|
|
|
|
M-a Retroceder al comienzo de la oración
|
|
M-e Avanzar al final de la oración
|
|
|
|
>> Ahora pruebe todos estos comandos algunas veces para practicar.
|
|
Estos comandos son los más frecuentemente usados.
|
|
|
|
Otros dos comandos importantes de movimiento del cursor son M-< (META
|
|
Menor que), el cual se mueve al comienzo del texto entero, y M-> (META
|
|
Mayor que), el cual se mueve al final del texto entero.
|
|
|
|
En la mayoría de las terminales, el «<» está sobre la coma, por lo
|
|
tanto tiene que usar la tecla shift para teclearlo. En estas
|
|
terminales tendrá que usar la tecla shift también al teclear M-<; sin
|
|
la tecla shift, usted estaría escribiendo M-coma.
|
|
|
|
>> Ahora pruebe M-<, para moverse al comienzo del tutorial.
|
|
Después use C-v repetidamente para regresar aquí.
|
|
|
|
>> Ahora pruebe M->, para moverse al final del tutorial.
|
|
Después use M-v repetidamente para regresar aquí.
|
|
|
|
También puede mover el cursor con las teclas de flecha si su terminal
|
|
dispone de ellas. Recomendamos aprender C-b, C-f, C-n y C-p por tres
|
|
razones. Primero, funcionan en todo tipo de terminales. Segundo, una
|
|
vez que gane práctica usando Emacs, encontrará que teclear estos
|
|
caracteres Control es más rápido que usar teclas de flecha (porque no
|
|
tendrá que mover las manos de la posición para mecanografiar).
|
|
Tercero, una vez tenga el hábito de usar estos comandos Control,
|
|
también puede aprender a usar otros comandos avanzados de movimiento
|
|
del cursor fácilmente.
|
|
|
|
La mayoría de comandos de Emacs aceptan un argumento numérico; para la
|
|
mayoría de comandos esto sirve como un factor de repetición. La
|
|
manera de pasarle un factor de repetición a un comando es tecleando
|
|
C-u y luego los dígitos antes de introducir los comandos. Si tiene
|
|
una tecla META (o ALT), hay una manera alternativa para ingresar un
|
|
argumento numérico: teclear los dígitos mientras presiona la tecla
|
|
META. Recomendamos aprender el método C-u porque éste funciona en
|
|
cualquier terminal. El argumento numérico es también llamado un
|
|
«argumento prefijo», porque usted teclea el argumento antes del
|
|
comando al que se aplica.
|
|
|
|
Por ejemplo, C-u 8 C-f mueve hacia adelante ocho caracteres.
|
|
|
|
>> Pruebe usar C-n o C-p con un argumento numérico, para mover el
|
|
cursor a una línea cercana a ésta con un solo comando.
|
|
|
|
La mayoría de comandos usan el argumento numérico como un factor de
|
|
repetición, pero algunos comandos le dan otros usos. Varios comandos
|
|
(pero ninguno de los que ha aprendido hasta ahora) lo usan como una
|
|
bandera: la presencia de un argumento prefijo, sin tener en cuenta su
|
|
valor, hace que el comando actúe de forma diferente.
|
|
|
|
C-v y M-v son otro tipo de excepción. Cuando se les da un argumento,
|
|
desplazan el texto arriba o abajo esa cantidad de líneas, en vez de
|
|
una pantalla completa. Por ejemplo, C-u 8 C-v desplaza la pantalla 8
|
|
líneas.
|
|
|
|
>> Pruebe tecleando C-u 8 C-v ahora.
|
|
|
|
Esto debería haber desplazado el texto hacia arriba 8 líneas. Si
|
|
quisiera desplazarla hacia abajo de nuevo, puede dar un argumento a
|
|
M-v.
|
|
|
|
Si está usando un entorno gráfico, como X o MS-Windows, debe
|
|
haber una larga área rectangular llamada una barra de desplazamiento
|
|
en el lado izquierdo de la ventana de Emacs. Puede desplazar el texto
|
|
al oprimir el botón del ratón en la barra de desplazamiento.
|
|
|
|
Si su ratón tiene un botón de rueda, también puede utilizarlo para
|
|
desplazar el texto.
|
|
|
|
|
|
* SI EMACS DEJA DE RESPONDER
|
|
----------------------------
|
|
|
|
Si Emacs dejara de responder a sus comandos, puede detenerlo con
|
|
seguridad al teclear C-g. Puede usar C-g para detener un comando que
|
|
esté tomando mucho tiempo para ejecutarse.
|
|
|
|
También puede usar C-g para descartar un argumento numérico o el
|
|
comienzo de un comando que no quiere finalizar.
|
|
|
|
>> Escriba C-u 100 para hacer un argumento numérico de 100, y luego
|
|
pruebe C-g.
|
|
Ahora pruebe C-f. Esto deberá mover solo un carácter, ya que
|
|
canceló el argumento con C-g.
|
|
|
|
Si ha tecleado <ESC> por error, puede desecharlo con un C-g.
|
|
|
|
|
|
* COMANDOS DESACTIVADOS
|
|
-----------------------
|
|
|
|
Algunos comandos de Emacs están «desactivados» de manera que los
|
|
usuarios principiantes no puedan usarlos accidentalmente.
|
|
|
|
Si teclea uno de los comandos desactivados, Emacs muestra un mensaje
|
|
informando acerca de qué comando era, y preguntándole si quiere
|
|
continuar y ejecutar el comando.
|
|
|
|
Si realmente quiere intentar el comando, teclee Espacio como repuesta
|
|
a la pregunta. Normalmente, si no quiere ejecutar el comando
|
|
desactivado, conteste la pregunta con «n».
|
|
|
|
>> Escriba C-x C-l (que es un comando desactivado), a continuación
|
|
escriba n para responder la pregunta.
|
|
|
|
|
|
* VENTANAS
|
|
----------
|
|
|
|
Emacs puede tener varias «ventanas», cada una mostrando su propio texto.
|
|
Explicaremos después cómo usar múltiples ventanas. Ahora mismo
|
|
queremos explicar cómo deshacerse de ventanas adicionales y volver a
|
|
la edición básica en una ventana. Es sencillo:
|
|
|
|
C-x 1 Una ventana (es decir, elimina todas las demás ventanas).
|
|
|
|
Esto es CONTROL-x seguido por el dígito 1. C-x 1 expande la ventana que
|
|
contiene el cursor, para ocupar toda la pantalla. Esto borra todas las
|
|
demás ventanas.
|
|
|
|
>> Mueva el cursor a esta línea y escriba C-u 0 C-l.
|
|
>> Escriba C-h k C-f.
|
|
Vea como esta ventana se encoge, mientras una nueva aparece y
|
|
muestra documentación sobre el comando C-f.
|
|
|
|
>> Escriba C-x 1 y vea que la ventana de listado de documentación
|
|
desaparece.
|
|
|
|
Hay toda una serie de comandos que comienzan con CONTROL-x; muchos de
|
|
ellos tienen que ver con ventanas, archivos, buffers y cosas
|
|
relacionadas. Estos comandos son de una longitud de dos, tres o
|
|
cuatro caracteres.
|
|
|
|
|
|
* INSERTAR Y BORRAR
|
|
-------------------
|
|
|
|
Si quiere insertar un texto, basta con que lo teclee. Los caracteres
|
|
normales, como A, 7, *, etc. se insertan nada más teclearlos. Teclee
|
|
<Return> (la tecla «Enter» o «Intro») para insertar un carácter de
|
|
nueva línea.
|
|
|
|
Para borrar el carácter que precede al cursor, oprima <DEL>. Es una
|
|
tecla alargada, normalmente etiquetada como «Backspace» o «Del», o con
|
|
una flecha apuntando a la izquierda; la misma que suele utilizar fuera
|
|
de Emacs para borrar el último carácter introducido.
|
|
|
|
Puede haber otra tecla llamada «Del» o «Supr» en otra parte, pero ésa
|
|
no es <DEL>.
|
|
|
|
>> Haga esto ahora: teclee unos pocos caracteres, después bórrelos
|
|
tecleando <DEL> varias veces. No se preocupe si este archivo
|
|
cambia, no alterará el tutorial principal. Ésta es su copia
|
|
personal de él.
|
|
|
|
Cuando una línea de texto se hace muy grande para una sola línea de la
|
|
pantalla, la línea de texto «continúa» en una segunda línea en la
|
|
pantalla. Si está usando un entorno gráfico, se mostrarán pequeñas
|
|
flechas curvas en las estrechas franjas vacías (los «márgenes» derecho
|
|
e izquierdo) a cada lado del área de texto, para indicar que la línea
|
|
continúa. Si está utilizando una terminal, la continuación se señala
|
|
mediante una barra invertida («\») en la última columna de la derecha.
|
|
|
|
>> Inserte texto hasta que llegue al margen derecho, y siga
|
|
insertando. Verá aparecer una línea de continuación.
|
|
|
|
>> Use <DEL> para borrar el texto hasta que la línea de nuevo
|
|
quepa en la pantalla. La línea de continuación se pierde.
|
|
|
|
Puede borrar un carácter de nueva línea como cualquier otro carácter.
|
|
Al borrar el carácter de nueva línea entre dos líneas las junta en una
|
|
sola línea. Si el resultado de la combinación de líneas es demasiado
|
|
largo para caber en el ancho de la pantalla, se mostrará con una línea
|
|
de continuación.
|
|
|
|
>> Mueva el cursor al comienzo de una línea y teclee <DEL>. Esto
|
|
juntará esa línea con la línea anterior.
|
|
|
|
>> Teclee <Return> para reinsertar la nueva línea que borró.
|
|
|
|
La tecla <Return> es especial, porque, aparte de insertar un carácter
|
|
de nueva línea, puede tener otros efectos. En función del texto
|
|
circundante, puede además insertar espacio en blanco tras el carácter
|
|
de fin de línea, de forma que, al seguir tecleando en la línea recién
|
|
creada, el texto que tecleamos quede alineado con el de la línea
|
|
anterior. Este comportamiento (que la pulsación de una tecla no solo
|
|
inserte el carácter correspondiente) se denomina «eléctrico».
|
|
|
|
>> Veamos un ejemplo de comportamiento «eléctrico» de <Return>
|
|
Teclee <Return> al final de esta línea.
|
|
|
|
Fíjese que, tras insertar el carácter de nueva línea, Emacs inserta
|
|
también espacios para que el cursor se sitúe bajo la «T» de «Teclee».
|
|
|
|
Recuerde que a la mayoría de los comandos de Emacs se les puede dar un
|
|
factor de repetición; esto incluye los caracteres de texto. Repetir
|
|
un carácter de texto lo inserta varias veces.
|
|
|
|
>> Inténtelo ahora: teclee C-u 8 * para insertar ********.
|
|
|
|
Ya ha aprendido la manera más básica de teclear algo en Emacs y
|
|
corregir errores. Puede borrar por palabras o por líneas. He aquí un
|
|
resumen de las operaciones de borrado:
|
|
|
|
<DEL> borra el carácter justo antes del cursor
|
|
C-d borra el siguiente carácter después del cursor
|
|
|
|
M-<DEL> Elimina la palabra inmediatamente antes del
|
|
cursor
|
|
M-d Elimina la siguiente palabra después del cursor
|
|
|
|
C-k Elimina desde el cursor hasta el fin de la línea
|
|
M-k Elimina hasta el final de la oración actual
|
|
|
|
Note que <DEL> y C-d, comparados con M-<DEL> y M-d, extienden el
|
|
paralelismo iniciado por C-f y M-f (bien, <DEL> no es realmente una
|
|
tecla de control, pero no nos preocuparemos de eso ahora). C-k y M-k,
|
|
en cierta forma, son como C-e y M-e, en que las líneas de unos
|
|
corresponden a oraciones en los otros.
|
|
|
|
También puede eliminar un segmento contiguo de texto con un método
|
|
uniforme. Muévase a un extremo de ese segmento de texto, y teclee C-@
|
|
o C-<SPC> (cualquiera de los dos). (<SPC> es la barra espaciadora.)
|
|
Luego, mueva el cursor al otro extremo del texto que desea eliminar.
|
|
Al hacerlo, Emacs resaltará el texto situado entre el cursor y la
|
|
posición en la que tecleó C-<SPC>. Finalmente, teclee C-w. Eso elimina
|
|
todo el texto entre las dos posiciones.
|
|
|
|
>> Mueva el cursor a la letra T del inicio del párrafo anterior.
|
|
>> Teclee C-<SPC>. Emacs debe mostrar el mensaje «Mark set» en la parte
|
|
de abajo de la pantalla.
|
|
>> Mueva el cursor a la x en «extremo», en la segunda línea del
|
|
párrafo.
|
|
>> Teclee C-w. Esto eliminará el texto que comienza desde la T, y
|
|
termina justo antes de la x.
|
|
|
|
La diferencia entre «eliminar» y «borrar» es que el texto «eliminado»
|
|
puede ser reinsertado (en cualquier posición), mientras que las cosas
|
|
«borradas» no pueden ser reinsertadas (sin embargo, es posible
|
|
deshacer el borrado; ver más abajo). La reinserción de texto
|
|
eliminado se llama «yanking» o «pegar». Generalmente, los comandos
|
|
que pueden quitar mucho texto lo eliminan (para que pueda pegarlo de
|
|
nuevo) mientras que los comandos que quitan solo un carácter, o solo
|
|
líneas en blanco y espacios, borran (y por tanto no se puede pegar lo
|
|
borrado). Si se usa normalmente, sin pasar un argumento, <DEL> y C-d
|
|
borran. Con un argumento, eliminan.
|
|
|
|
>> Mueva el cursor al comienzo de una línea que no esté vacía.
|
|
Luego teclee C-k para eliminar el texto de esa línea.
|
|
>> Teclee C-k por segunda vez. Verá que elimina la nueva línea que
|
|
sigue a esa línea.
|
|
|
|
Note que al teclear C-k una sola vez elimina el contenido de la línea,
|
|
y un segundo C-k elimina la línea misma, y hace que todas las otras
|
|
líneas se muevan hacia arriba. C-k trata un argumento numérico
|
|
especialmente: elimina ese número de líneas y TAMBIÉN sus
|
|
contenidos. Esto no es una simple repetición. C-u 2 C-k elimina dos
|
|
líneas y sus nuevas líneas, tecleando C-k dos veces no hace esto.
|
|
|
|
Reinsertar texto eliminado se denomina «yanking» o «pegar». (Piense
|
|
en ello como pegar de nuevo, o traer de vuelta, algún texto que le fue
|
|
quitado.) Puede pegar el texto eliminado, ya sea el lugar en que fue
|
|
eliminado, o en otra parte del buffer, o hasta en un archivo
|
|
diferente. Puede pegar el texto varias veces, lo que hace varias
|
|
copias de él. Algunos editores se refieren a eliminar y reinsertar
|
|
como «cortar» y «pegar» (consulte el Glosario en el manual de Emacs).
|
|
|
|
El comando para pegar es C-y. Reinserta el último texto eliminado, en
|
|
la posición actual del cursor.
|
|
|
|
>> Inténtelo; teclee C-y para pegar de nuevo el texto.
|
|
|
|
Si hace varios C-k seguidos, todo el texto eliminado se guarda junto,
|
|
de manera que un C-y pegará todas las líneas al mismo tiempo.
|
|
|
|
>> Haga esto ahora, teclee C-k varias veces.
|
|
|
|
Ahora para recuperar ese texto eliminado:
|
|
|
|
>> Teclee C-y. Luego baje el cursor unas pocas líneas y teclee C-y de
|
|
nuevo. De esta forma puede copiar un texto.
|
|
|
|
¿Qué hacer si tiene algún texto que quiere pegar, y entonces elimina
|
|
otra cosa? C-y pegaría la eliminación más reciente. Pero el texto
|
|
previo no está perdido. Puede regresar a éste usando el comando M-y.
|
|
Después de haber tecleado C-y para conseguir la eliminación más
|
|
reciente, tecleando M-y reemplaza el texto pegado con la eliminación
|
|
previa. Tecleando M-y una y otra vez traerá las eliminaciones
|
|
anteriores. Cuando haya encontrado el texto que buscaba, no tiene que
|
|
hacer nada para conservarlo. Solo siga con su edición, dejando el
|
|
texto pegado en donde está.
|
|
|
|
Si teclea M-y suficientes veces, regresa al punto inicial (la
|
|
eliminación más reciente).
|
|
|
|
>> Elimine una línea, muévase un poco, elimine otra línea.
|
|
Luego teclee C-y para recuperar la segunda línea eliminada.
|
|
Luego teclee M-y y será reemplazado por la primera línea eliminada.
|
|
Teclee más veces M-y y vea lo que obtiene. Siga haciéndolo hasta
|
|
que la segunda línea eliminada regrese, y entonces unas pocas
|
|
más. Si quiere, puede tratar de darle a M-y argumentos positivos y
|
|
negativos.
|
|
|
|
|
|
* DESHACER
|
|
----------
|
|
|
|
Si hace un cambio al texto, y luego decide que fue un error,
|
|
puede deshacer el cambio con el comando deshacer, C-/.
|
|
|
|
Normalmente, C-/ deshace los cambios hechos por un comando; si repite
|
|
varias veces seguidas C-/, cada repetición deshará un comando
|
|
adicional.
|
|
|
|
Pero hay dos excepciones: los comandos que no cambian el texto no
|
|
cuentan (esto incluye los comandos de movimiento del cursor y de
|
|
desplazamiento), y los caracteres de autoinserción se manejan
|
|
usualmente en grupos de hasta 20 caracteres. (Esto es para reducir el
|
|
numero de C-/ que tenga que teclear para deshacer una inserción en
|
|
el texto.)
|
|
|
|
>> Elimine esta línea con C-k, después teclee C-/ y debería
|
|
reaparecer.
|
|
|
|
C-_ es un comando alternativo para deshacer; funciona igual que C-/.
|
|
En algunas terminales, al teclear C-/ en realidad envía C-_ a Emacs.
|
|
También existe la alternativa de usar C-x u, que funciona exactamente
|
|
igual que C-/, pero es menos cómodo de teclear.
|
|
|
|
Un argumento numérico para C-/, C-_ o C-x u actúa como un factor de
|
|
repetición.
|
|
|
|
Puede deshacer un texto borrado justo como puede deshacer el texto
|
|
eliminado. La distinción entre eliminar algo y borrar algo afecta en
|
|
si puede pegarlo con C-y; no hay diferencia alguna para deshacer.
|
|
|
|
|
|
* ARCHIVOS
|
|
----------
|
|
|
|
Para que pueda hacer permanente el texto que edite, lo debe colocar en
|
|
un archivo. De otra manera, éste se perderá cuando cierre Emacs.
|
|
Para poder poner su texto en un archivo, debe «encontrar» el archivo
|
|
antes de ingresar el texto. (Esto se llama también «visitar» el
|
|
archivo.)
|
|
|
|
Encontrar un archivo significa que puede ver su contenido dentro de
|
|
Emacs. En cierta forma, es como si estuviera editando el archivo
|
|
mismo. Sin embargo los cambios que haga mediante Emacs no serán
|
|
permanentes hasta que «guarde» el archivo. Esto es para evitar dejar
|
|
un archivo a medio cambiar en el sistema cuando no quiera. Incluso
|
|
cuando guarde, Emacs dejará el archivo original bajo un nombre
|
|
cambiado en caso de que luego decida que sus cambios fueron un error.
|
|
|
|
Si mira cerca del final de la pantalla podrá ver una línea que
|
|
comienza con guiones, y empieza con « U:--- TUTORIAL.es» o algo así.
|
|
Esta parte de la pantalla normalmente muestra el nombre del archivo
|
|
que está visitando. En este momento está visitando su propia copia
|
|
del tutorial de Emacs, que se llama «TUTORIAL.es». Cuando encuentre
|
|
un archivo con Emacs, el nombre de ese archivo aparecerá en ese mismo
|
|
punto.
|
|
|
|
Una cosa especial acerca del comando para encontrar un archivo es que
|
|
tendrá que decir qué nombre de archivo desea. Decimos que el comando
|
|
«lee un argumento» (en este caso, el argumento es el nombre del
|
|
archivo). Después de teclear el comando:
|
|
|
|
C-x C-f Encontrar un archivo
|
|
|
|
Emacs le pide que teclee el nombre del archivo. El nombre de archivo
|
|
que teclee aparece en la línea final de la pantalla. A la línea final
|
|
de la pantalla se la denomina minibuffer cuando se utiliza para este
|
|
tipo de entradas. Puede usar comandos de edición ordinarios de Emacs
|
|
para editar el nombre del archivo.
|
|
|
|
Mientras está ingresando el nombre del archivo (o cualquier otra
|
|
entrada al minibuffer) puede cancelar el comando con C-g.
|
|
|
|
>> Teclee C-x C-f, luego teclee C-g. Esto cancela el minibuffer, y
|
|
también cancela el comando C-x C-f que estaba usando el minibuffer.
|
|
Así que no encontrará archivo alguno.
|
|
|
|
Cuando haya finalizado de ingresar el nombre del archivo, teclee
|
|
<Return> para terminarlo. El minibuffer desaparece, y el comando C-x
|
|
C-f trabaja para encontrar el archivo que escogió.
|
|
|
|
En seguida aparecerá el contenido del archivo en la pantalla, y puede
|
|
editarlo. Cuando quiera que sus cambios sean permanentes, teclee el
|
|
comando
|
|
|
|
C-x C-s Guardar el archivo
|
|
|
|
Esto copia el texto dentro de Emacs al archivo. La primera vez que
|
|
haga esto, Emacs renombrará el archivo original con un nuevo nombre
|
|
para que éste no se pierda. El nuevo nombre se hace agregando «~» al
|
|
final del nombre del archivo original. Cuando guardar haya terminado,
|
|
Emacs mostrará el nombre del archivo escrito.
|
|
|
|
>> Teclee C-x C-s TUTORIAL.es <Return>
|
|
Esto guardará el tutorial en un archivo llamado TUTORIAL.es, y
|
|
mostrará «Wrote ...TUTORIAL.es» al final de la pantalla.
|
|
|
|
Puede encontrar un archivo existente, para verlo o editarlo. También
|
|
puede hacerlo con un archivo que no exista. Ésta es la forma de crear
|
|
un archivo en Emacs: encuentre el archivo, que está inicialmente vacío,
|
|
luego comience a insertar el texto para ese archivo. Cuando invoque
|
|
«guardar» el archivo, Emacs creará realmente el archivo con el texto
|
|
que ha insertado. De ahí en adelante, puede considerar que está
|
|
editando un archivo existente.
|
|
|
|
|
|
* BUFFERS
|
|
---------
|
|
|
|
Si visita un segundo archivo con C-x C-f, el primer archivo permanece
|
|
dentro de Emacs. Puede volver a él encontrándolo de nuevo con C-x
|
|
C-f. De esta forma puede mantener un gran número de archivos dentro
|
|
de Emacs.
|
|
|
|
Emacs almacena cada texto del archivo dentro de un objeto llamado
|
|
«buffer». Al encontrar un archivo se crea un nuevo buffer dentro de
|
|
Emacs. Para mirar la lista de los buffers que existen actualmente,
|
|
teclee:
|
|
|
|
C-x C-b Lista de buffers
|
|
|
|
>> Pruebe C-x C-b ahora.
|
|
|
|
Vea como cada buffer tiene un nombre, y además puede tener un nombre
|
|
de archivo para el archivo que contiene. CUALQUIER texto que vea en
|
|
una ventana de Emacs es siempre parte de algún buffer.
|
|
|
|
>> Teclee C-x 1 para deshacerse de la lista de buffers.
|
|
|
|
Cuando tenga varios buffers, solo uno de ellos es «actual» en algún
|
|
momento. Ese buffer es el que actualmente edita. Si quiere editar
|
|
otro buffer, necesita «cambiar» a él. Si quiere cambiar a un buffer
|
|
que corresponde a un archivo, puede hacerlo visitando el archivo de
|
|
nuevo con C-x C-f. Pero existe una manera más rápida: use el comando
|
|
C-x b. En ese comando, necesita teclear el nombre de buffer.
|
|
|
|
>> Cree un archivo llamado «foo» tecleando C-x C-f foo <Return>.
|
|
Después teclee C-x b TUTORIAL.es <Return> para regresar a este
|
|
tutorial.
|
|
|
|
La mayoría del tiempo el nombre del buffer es el mismo que el nombre
|
|
del archivo (sin la parte del directorio del archivo). Sin embargo,
|
|
esto no es así siempre. La lista de buffers que hace con C-x C-b
|
|
muestra el nombre de cada buffer y de su archivo correspondiente.
|
|
|
|
Algunos buffers no corresponden a un archivo. El buffer llamado
|
|
«*Buffer List*», que contiene la lista de buffers que ha creado con
|
|
C-x C-b, no tiene archivo. Este buffer TUTORIAL.es al principio no
|
|
tenía archivo, pero ahora sí, porque en la sección anterior tecleó
|
|
C-x C-s y lo guardó en un archivo.
|
|
|
|
El buffer llamado «*Messages*» tampoco tiene un archivo
|
|
correspondiente. Este buffer contiene los mensajes que han aparecido
|
|
en la línea de abajo durante su sesión de Emacs.
|
|
|
|
>> Teclee C-x b *Messages* <Return> para ver el buffer de mensajes.
|
|
Luego teclee C-x b TUTORIAL <Return> para regresar a este tutorial.
|
|
|
|
Si hace cambios al texto de un archivo, y luego encuentra otro
|
|
archivo, esto no guarda el primer archivo. Sus cambios permanecerán
|
|
dentro de Emacs en ese buffer del archivo. La creación o edición del
|
|
segundo buffer de archivo no afecta al primero. Esto es muy útil,
|
|
pero también significa que necesita una forma conveniente para guardar
|
|
el archivo del primer buffer. Tener que volver a él para guardarlo
|
|
con C-x C-s sería una molestia. Por tanto, tenemos
|
|
|
|
C-x s Guardar algunos buffers
|
|
|
|
C-x s le pregunta sobre cada buffer que contenga cambios que no haya
|
|
guardado. Le pregunta, por cada buffer, si quiere guardarlo o no.
|
|
|
|
>> Inserte una línea de texto, luego teclee C-x s.
|
|
Debería preguntarle si desea guardar el buffer llamado TUTORIAL.es.
|
|
Conteste «sí» a la pregunta tecleando «y».
|
|
|
|
|
|
* EXTENDER EL CONJUNTO DE COMANDOS
|
|
----------------------------------
|
|
|
|
Hay muchísimos más comandos de Emacs que los que podrían asignarse a
|
|
todos los caracteres control y meta. Emacs puede darle la vuelta a
|
|
esto usando el comando X (eXtendido). Éste viene de dos formas:
|
|
|
|
C-x Carácter eXtendido. Seguido por un carácter.
|
|
M-x Comando eXtendido por nombre. Seguido por un nombre
|
|
largo.
|
|
|
|
Estos comandos son generalmente útiles pero menos usados que los
|
|
comandos que ha aprendido hasta ahora. Ya ha visto dos: los comandos
|
|
de archivo C-x C-f para Encontrar y C-x C-s para Guardar. Otro
|
|
ejemplo es el comando para terminar la sesión de Emacs: se trata del
|
|
comando C-x C-c. (No se preocupe por perder los cambios que haya
|
|
hecho; C-x C-c ofrece guardar cada archivo alterado antes de finalizar
|
|
Emacs.)
|
|
|
|
Si está utilizando una pantalla gráfica, no necesita ningún comando
|
|
especial para cambiar de Emacs a otra aplicación. Puede hacerlo con
|
|
el ratón, o mediante el gestor de ventanas. Sin embargo, si está
|
|
usando una terminal que solo puede mostrar una aplicación a la vez,
|
|
tendrá que «suspender» Emacs para poder acceder a otras aplicaciones.
|
|
|
|
C-z es el comando para salir de Emacs *temporalmente*: para que pueda
|
|
regresar a la misma sesión de Emacs después. Cuando Emacs está
|
|
ejecutándose en una terminal, C-z «suspende» Emacs; esto es, se
|
|
regresa al intérprete de comandos pero no se destruye Emacs. En los
|
|
intérpretes de comandos más comunes, puede reanudar Emacs con el
|
|
comando «fg» o con «%emacs».
|
|
|
|
El momento para usar C-x C-c es cuando está listo para salir del
|
|
sistema. Es además el paso correcto para salir de un Emacs invocado
|
|
para editar algo rápidamente, como por ejemplo desde un programa de
|
|
gestión de correo.
|
|
|
|
Existen muchos comandos C-x. He aquí la lista de los que ya ha
|
|
aprendido:
|
|
|
|
C-x C-f Encontrar archivo
|
|
C-x C-s Guardar archivo
|
|
C-x s Guardar varios buffers
|
|
C-x C-b Lista de buffers
|
|
C-x b Cambiar a otro buffer
|
|
C-x C-c Salir de Emacs
|
|
C-x 1 Borrar todo menos una ventana
|
|
C-x u Deshacer
|
|
|
|
Los comandos eXtendidos por nombre son comandos que se utilizan aún
|
|
con menos frecuencia, o únicamente en ciertos modos. Un ejemplo es el
|
|
comando replace-string, el cual substituye una cadena de caracteres
|
|
por otra en todo el buffer. Cuando teclea M-x, Emacs le pregunta al
|
|
final de la pantalla con M-x y debe escribir el nombre del comando; en
|
|
este caso «replace-string». Solo teclee «repl s<TAB>» y Emacs
|
|
completará el nombre. (<TAB> es la tecla del tabulador, que
|
|
habitualmenté está situada sobre la tecla de bloquear mayúsculas o la
|
|
de shift, en el lado izquierdo del teclado.) Para aceptar el comando
|
|
y ejecutarlo, pulse <Return>.
|
|
|
|
El comando replace-string requiere dos argumentos: la cadena de
|
|
caracteres a reemplazar, y la cadena de caracteres para reemplazarla.
|
|
Debe terminar cada argumento con <Return>.
|
|
|
|
>> Mueva el cursor hacia la línea en blanco dos líneas abajo de ésta.
|
|
A continuación escriba
|
|
M-x repl s<Return>cambiado<Return>alterado<Return>.
|
|
|
|
Note cómo ha cambiado la línea: ha substituido la palabra
|
|
«cambiado» por «alterado» en cada ocurrencia, después de la
|
|
posición inicial del cursor.
|
|
|
|
|
|
* AUTO GUARDADO
|
|
---------------
|
|
|
|
Si ha hecho cambios en un archivo, pero no los ha guardado, éstos
|
|
podrían perderse si su computadora falla. Para protegerlo de esto,
|
|
Emacs escribe periódicamente un archivo «auto guardado» para cada
|
|
archivo que está editando. El nombre del archivo auto guardado tiene
|
|
un # al principio y al final; por ejemplo, si su archivo se llama
|
|
«hola.c», su archivo auto guardado es «#hola.c#». Cuando guarda por
|
|
la vía normal, Emacs borra su archivo de auto guardado.
|
|
|
|
Si la computadora falla, puede recuperar su edición de auto guardado
|
|
encontrando el archivo normal (el archivo que estuvo editando, no el
|
|
archivo de auto guardar) y entonces tecleando M-x recover-file
|
|
<Return>. Cuando le pregunte por la confirmación, teclee yes<Return>
|
|
para seguir adelante y recuperar la información de auto guardado.
|
|
|
|
|
|
* ÁREA DE ECO
|
|
-------------
|
|
|
|
Si Emacs ve que usted está tecleando comandos de multicaracteres
|
|
lentamente, se los muestra al final de la pantalla en un área llamada
|
|
«área de eco». El área de eco contiene la línea final de la pantalla.
|
|
|
|
|
|
* LÍNEA DE MODO
|
|
---------------
|
|
|
|
La línea inmediatamente encima del área de eco recibe el nombre de
|
|
«línea de modo» o «mode line». La línea de modo dice algo así:
|
|
|
|
U:**- TUTORIAL.es 63% L749 (Fundamental)
|
|
|
|
Esta línea da información útil acerca del estado de Emacs y del texto
|
|
que está editando.
|
|
|
|
Ya sabe qué significa el nombre del archivo: es el archivo que usted
|
|
ha encontrado. NN% indica su posición actual en el texto; esto
|
|
significa que NN por ciento del texto está encima de la parte superior
|
|
de la pantalla. Si el principio del archivo está en la pantalla, éste
|
|
dirá «Top» en vez de « 0%». Si el final del texto está en la
|
|
pantalla, dirá «Bot». Si está mirando un texto tan pequeño que cabe
|
|
entero en la pantalla, el modo de línea dirá «All».
|
|
|
|
La L y los dígitos señalan la posición de otra forma: indican el
|
|
número de línea actual del punto.
|
|
|
|
Los asteriscos cerca del frente significan que usted ha hecho cambios
|
|
al texto. Inmediatamente después que visite o guarde un archivo, esa
|
|
parte de la línea de modo no muestra asteriscos, solo guiones.
|
|
|
|
La parte de la línea de modo dentro de los paréntesis es para
|
|
indicarle en qué modo de edición está. El modo por omisión es
|
|
Fundamental, el cual está usando ahora. Éste es un ejemplo de un
|
|
«modo mayor».
|
|
|
|
Emacs tiene diferentes modos mayores. Algunos están hechos para
|
|
editar diferentes lenguajes y/o clases de texto, tales como modo de
|
|
Lisp, modo de Texto, etc. En cualquier momento uno y solo un modo
|
|
mayor está activo, y su nombre siempre se puede encontrar en la línea
|
|
de modo, justo en donde «Fundamental» está ahora.
|
|
|
|
Cada modo mayor hace que algunos comandos actúen diferente. Por
|
|
ejemplo, hay comandos para crear comentarios en un programa, y como
|
|
cada lenguaje de programación tiene una idea diferente de cómo debe
|
|
verse un comentario, cada modo mayor tiene que insertar comentarios de
|
|
forma distinta. Cada modo mayor es el nombre de un comando extendido,
|
|
que es como puede cambiar a ese modo. Por ejemplo, M-x
|
|
fundamental-mode es un comando para cambiar al modo fundamental.
|
|
|
|
Si va a editar un texto de algún lenguaje humano, como este archivo,
|
|
debería usar el modo de texto.
|
|
|
|
>> Teclee M-x text-mode <Return>.
|
|
|
|
No se preocupe, ninguno de los comandos de Emacs que ha aprendido
|
|
cambia de manera significativa. Pero puede observar que M-f y M-b
|
|
tratan los apóstrofos como parte de las palabras. Previamente, en
|
|
modo Fundamental, M-f y M-b trataban los apóstrofes como separadores
|
|
de palabras.
|
|
|
|
Los modos mayores normalmente hacen cambios sutiles como el anterior:
|
|
la mayoría de comandos hacen «el mismo trabajo» en cada modo mayor,
|
|
pero funcionan de forma un poco diferente.
|
|
|
|
Para ver la documentación del modo mayor actual, teclee C-h m.
|
|
|
|
>> Mueva el cursor a la línea siguiente a la actual.
|
|
|
|
>> Use C-l C-l para traer esta línea a la parte superior de la
|
|
pantalla.
|
|
|
|
>> Teclee C-h m para ver cómo el modo de Texto difiere del modo
|
|
Fundamental.
|
|
|
|
>> Teclee C-x 1 para eliminar la documentación de la pantalla.
|
|
|
|
Los modos mayores se llaman así porque también hay modos menores. Los
|
|
modos menores no son alternativas para los modos mayores, solo
|
|
modificaciones menores de éstos. Cada modo menor puede ser activado o
|
|
desactivado por sí mismo, independiente de todos los otros modos
|
|
menores, e independiente de su modo mayor. Por tanto, puede no usar
|
|
modos menores, o solamente uno, o cualquier combinación de varios
|
|
modos menores.
|
|
|
|
Un modo menor que es muy útil, especialmente para editar textos en
|
|
español, es el modo Auto Fill. Cuando este modo está activado, Emacs
|
|
rompe la línea entre palabras automáticamente siempre que inserte
|
|
texto y la línea sea demasiado ancha.
|
|
|
|
Puede activar el modo Auto Fill al hacer M-x auto-fill-mode <Return>.
|
|
Cuando el modo esté activado, puede desactivarlo nuevamente usando M-x
|
|
auto-fill-mode <Return>. Si el modo está desactivado, este comando lo
|
|
activa, y si el modo está activado, este comando lo desactiva.
|
|
Decimos que el comando «cambia el modo».
|
|
|
|
>> teclee M-x auto-fill-mode <Return> ahora. Luego inserte una línea
|
|
de «asdf » repetidas veces hasta que la vea dividida en dos líneas.
|
|
Debe intercalar espacios porque Auto Fill solo rompe líneas en los
|
|
espacios.
|
|
|
|
El margen está normalmente puesto en 70 caracteres, pero puede
|
|
cambiarlo con el comando C-x f. Debe indicar el margen deseado como
|
|
un argumento numérico.
|
|
|
|
>> Teclee C-x f con un argumento de 20. (C-u 2 0 C-x f). Luego
|
|
teclee algún texto y vea como Emacs lo parte en líneas de 20
|
|
caracteres. A continuación ponga de nuevo el margen en 70 usando
|
|
otra vez C-x f.
|
|
|
|
Si hace cambios en el medio de un párrafo, el modo Auto Fill no lo
|
|
rellenará por usted.
|
|
Para rellenar el párrafo, teclee M-q (META-q) con el cursor dentro de
|
|
ese párrafo.
|
|
|
|
>> Mueva el cursor al párrafo anterior y teclee M-q.
|
|
|
|
|
|
* BUSCAR
|
|
--------
|
|
|
|
Emacs puede hacer búsquedas de cadenas (una «cadena» es un grupo de
|
|
caracteres contiguos) hacia adelante a través del texto o hacia atrás
|
|
en el mismo. La búsqueda de una cadena es un comando de movimiento de
|
|
cursor; mueve el cursor al próximo lugar donde esa cadena aparece.
|
|
|
|
El comando de búsqueda de Emacs es «incremental». Esto significa que
|
|
la búsqueda ocurre mientras teclea la cadena para buscarla.
|
|
|
|
El comando para iniciar una búsqueda es C-s para búsqueda hacia
|
|
adelante, y C-r para la búsqueda hacia atrás. ¡PERO ESPERE! No los
|
|
intente aún.
|
|
|
|
Cuando teclee C-s verá que la cadena «I-search» aparece como una
|
|
petición en el área de eco. Esto le indica que Emacs está en lo que
|
|
se conoce como búsqueda incremental, esperando que teclee lo que
|
|
quiere buscar. <Return> termina una búsqueda.
|
|
|
|
>> Ahora teclee C-s para comenzar la búsqueda. LENTAMENTE, una letra
|
|
a la vez, teclee la palabra «cursor», haciendo pausa después de
|
|
cada carácter para notar lo que pasa con el cursor.
|
|
Ahora ha buscado «cursor», una vez.
|
|
>> Teclee C-s de nuevo, para buscar la siguiente ocurrencia de
|
|
«cursor».
|
|
>> Ahora teclee <DEL> cuatro veces y vea como se mueve el cursor.
|
|
>> Teclee <Return> para terminar la búsqueda.
|
|
|
|
¿Vio lo que ocurrió? Emacs, en una búsqueda incremental, trata de ir
|
|
a la ocurrencia de la cadena que ha tecleado hasta el momento. Para
|
|
ir a la próxima ocurrencia de «cursor» solo teclee C-s de nuevo. Si
|
|
tal ocurrencia no existe, Emacs pita y le dice que la búsqueda actual
|
|
está fallando («failing»). C-g también termina la búsqueda.
|
|
|
|
Si se encuentra en medio de una búsqueda incremental y teclea <DEL>,
|
|
la búsqueda «vuelve» a un punto anterior. Si teclea <DEL> justo
|
|
después de teclear C-s para avanzar hasta la siguiente ocurrencia de
|
|
la cadena buscada, el cursor retrocede a una ocurrencia previa. Si no
|
|
hay ocurrencias previas, <DEL> borra el último carácter de la cadena
|
|
buscada. Por ejemplo, suponga que ha tecleado «c», para buscar la
|
|
primera ocurrencia de «c». Ahora, si teclea «u», el cursor se moverá
|
|
a la primera ocurrencia de «cu». Ahora teclee <DEL>. Esto borra la
|
|
«u» de la cadena buscada, y el cursor vuelve a la primera ocurrencia
|
|
de «c».
|
|
|
|
Si está en medio de una búsqueda y teclea un carácter control o meta
|
|
(con algunas pocas excepciones: los caracteres que son especiales en
|
|
una búsqueda, tales como C-s y C-r), la búsqueda termina.
|
|
|
|
C-s inicia una exploración que busca alguna ocurrencia de la cadena
|
|
buscada DESPUÉS de la posición actual del cursor. Si quiere buscar
|
|
algo anterior en el texto, teclee en cambio C-r. Todo lo que hemos
|
|
dicho sobre C-s también se aplica a C-r, excepto que la dirección de
|
|
la búsqueda se invierte.
|
|
|
|
|
|
* MÚLTIPLES VENTANAS
|
|
--------------------
|
|
|
|
Una de las características agradables de Emacs es que se puede mostrar
|
|
más de una ventana en la pantalla al mismo tiempo. (Note que Emacs
|
|
usa el término «marcos», descrito en la siguiente sección, para
|
|
referirse a lo que otras aplicaciones llaman «ventanas». El manual de
|
|
Emacs contiene un Glosario de términos.)
|
|
|
|
>> Mueva el cursor a esta línea y teclee C-l C-l.
|
|
|
|
>> Ahora teclee C-x 2 que divide la pantalla en dos ventanas.
|
|
Ambas ventanas muestran este tutorial. El cursor de edición
|
|
permanece en la ventana superior.
|
|
|
|
>> Teclee C-M-v para desplazar la ventana inferior.
|
|
(Si no tiene una tecla META real, teclee ESC C-v.)
|
|
|
|
>> Teclee C-x o («o» para «otro») para mover el cursor a la ventana
|
|
inferior.
|
|
>> Use C-v y M-v en la ventana inferior para desplazarla.
|
|
Siga leyendo estas direcciones en la ventana superior.
|
|
|
|
>> Teclee C-x o de nuevo para mover el cursor de vuelta a la ventana
|
|
superior.
|
|
El cursor en la ventana superior está justo donde estaba antes.
|
|
|
|
Puede continuar usando C-x o para cambiar entre las ventanas. La
|
|
«ventana seleccionada», donde tiene lugar casi toda la edición, es la
|
|
que tiene un cursor muy visible que parpadea cuando usted no está
|
|
tecleando. Las otras ventanas tienen su propia posición del cursor;
|
|
si está ejecutando Emacs en una pantalla gráfica, esos cursores se
|
|
muestran como rectángulos vacíos que no parpadean.
|
|
|
|
El comando C-M-v es muy útil cuando está editando un texto en una
|
|
ventana y usando la otra ventana como referencia. Sin moverse de la
|
|
ventana seleccionada, puede desplazar el texto de la otra ventana con
|
|
C-M-v.
|
|
|
|
C-M-v es un ejemplo de un carácter CONTROL-META. Si tiene una tecla
|
|
META (o Alt), puede teclear C-M-v pulsando a la vez CONTROL y META
|
|
mientras teclea v. No importa qué tecla «vaya primero», CONTROL o
|
|
META, porque las dos teclas actúan modificando los caracteres que
|
|
teclea.
|
|
|
|
Si no tiene una tecla META, y en vez de eso usa ESC, el orden sí
|
|
importa: debe teclear ESC seguido de Control-v, porque Control-ESC v
|
|
no funcionará. Esto es porque ESC es un carácter que tiene valor por
|
|
sí mismo, no es una tecla modificadora.
|
|
|
|
>> Teclee C-x 1 (en la ventana de arriba) para deshacerse de la
|
|
ventana de abajo.
|
|
|
|
(Si hubiera tecleado C-x 1 en la ventana inferior, esto eliminaría la
|
|
superior. Piense en este comando como «mantener solo una
|
|
ventana —aquella en la cual estoy—».)
|
|
|
|
No tiene por qué mostrarse el mismo buffer en ambas ventanas. Si usa
|
|
C-x C-f para encontrar un archivo en una ventana, la otra ventana no
|
|
cambia. Puede encontrar un archivo en cada ventana
|
|
independientemente.
|
|
|
|
Aquí hay otra forma para usar dos ventanas para mostrar dos cosas
|
|
diferentes:
|
|
|
|
>> Teclee C-x 4 C-f seguido del nombre de uno de sus archivos.
|
|
Finalice con <Return>. Vea que el archivo especificado aparece en
|
|
la ventana inferior. El cursor va allá también.
|
|
|
|
>> Teclee C-x o para regresar a la ventana superior, y C-x 1 para
|
|
borrar la ventana inferior.
|
|
|
|
|
|
* MÚLTIPLES MARCOS
|
|
------------------
|
|
|
|
Emacs puede crear también múltiples «marcos». Marco es como
|
|
denominamos a un grupo de ventanas, junto con sus menús, barras de
|
|
desplazamiento, áreas de eco, etc. En entornos gráficos, lo que Emacs
|
|
denomina «marco» es lo que otras aplicaciones llaman «ventana». En
|
|
entornos gráficos, es posible mostrar varios marcos al mismo tiempo.
|
|
En una terminal, solo se puede mostrar un marco a la vez.
|
|
|
|
>> Teclee M-x make-frame <Return>.
|
|
En la pantalla aparecerá un nuevo marco.
|
|
|
|
En el nuevo marco puede hacer todo lo que hacía en el marco original.
|
|
El primer marco no tiene nada de especial.
|
|
|
|
>> Teclee M-x delete-frame <Return>.
|
|
Esto destruye el marco seleccionado.
|
|
|
|
También puede destruir un marco mediante el método normal que ofrezca
|
|
el entorno gráfico (a menudo, pinchando con el ratón en un botón
|
|
etiquetado como «X» en alguna de las esquinas superiores del marco).
|
|
Si al hacer eso destruye el último marco de Emacs, la aplicación
|
|
termina.
|
|
|
|
|
|
* NIVELES RECURSIVOS DE EDICIÓN
|
|
--------------------------------
|
|
|
|
Algunas veces entrará a lo que es llamado un «nivel recursivo de
|
|
edición». Esto se indica en la línea de modo mediante corchetes en la
|
|
línea de modo, rodeando los paréntesis del nombre del modo mayor. Por
|
|
ejemplo, probablemente vea [(Fundamental)] en vez de (Fundamental).
|
|
|
|
Para salir de los niveles recursivos de edición, teclee ESC ESC ESC.
|
|
Éste es un comando de «salida» para todo propósito. También lo puede
|
|
usar para eliminar ventanas extras, y salir del minibuffer.
|
|
|
|
>> Teclee M-x para entrar a un minibuffer; luego teclee ESC ESC ESC
|
|
para salir.
|
|
|
|
No se puede usar C-g para salir de los «niveles recursivos de
|
|
edición». Esto es porque C-g es usado para cancelar comandos y
|
|
argumentos DENTRO del nivel recursivo de edición.
|
|
|
|
|
|
* CONSEGUIR MÁS AYUDA
|
|
---------------------
|
|
|
|
En este tutorial hemos tratado de ofrecer suficiente información para
|
|
que empiece a usar Emacs. Hay tanto disponible en Emacs que sería
|
|
imposible explicar todo aquí. Sin embargo, quizá desee aprender más
|
|
sobre Emacs, ya que tiene muchas otras características útiles. Emacs
|
|
provee comandos para leer documentación acerca de los comandos de
|
|
Emacs. Todos estos comandos de «ayuda» comienzan con el carácter
|
|
Control-h, que es llamado «el carácter de Ayuda (Help)».
|
|
|
|
Para usar las funciones de ayuda, teclee el carácter C-h, y luego un
|
|
carácter que especifica qué tipo de ayuda quiere. Si está REALMENTE
|
|
perdido teclee C-h ? y Emacs le dirá qué tipo de ayuda puede
|
|
ofrecerle. Si ha tecleado C-h y decide que no quiere ninguna ayuda,
|
|
teclee C-g para cancelarlo.
|
|
|
|
(Si C-h no muestra un mensaje de ayuda en el final de la pantalla,
|
|
intente teclear la tecla F1 o, en su lugar, M-x help <Return>.)
|
|
|
|
La función de AYUDA más básica es C-h c. Teclee C-h, el carácter c y
|
|
un carácter de comando o secuencia de comando; Emacs le mostrará
|
|
una descripción muy breve del comando.
|
|
|
|
>> Teclee C-h c C-p.
|
|
El mensaje debe ser algo como
|
|
|
|
C-p runs the command previous-line
|
|
|
|
Esto le dice el «nombre de la función». Ya que los nombres de las
|
|
funciones se eligen para indicar lo que hace el comando, pueden servir
|
|
como una breve documentación: suficiente para recordarle los comandos
|
|
que ha aprendido.
|
|
|
|
Los comandos de múltiples caracteres tales como C-x C-s y (si no tiene
|
|
las teclas META o ALT) <ESC>v también están permitidos después de
|
|
C-h c.
|
|
|
|
Para conseguir más información sobre un comando use C-h k en vez de
|
|
C-h c.
|
|
|
|
>> Teclee C-h k C-p.
|
|
|
|
Esto muestra la documentación de la función, al igual que el nombre,
|
|
en una ventana de Emacs. Cuando haya terminado de leer el resultado,
|
|
teclee C-x 1 para deshacerse de la ventana. No tiene que hacer esto
|
|
ahora. Puede hacer algunas ediciones mientras se refiere al texto de
|
|
ayuda, y entonces teclear C-x 1.
|
|
|
|
Aquí hay algunas otras opciones útiles de C-h:
|
|
|
|
C-h x Describe un comando. Usted teclea el nombre del
|
|
comando.
|
|
|
|
>> Intente teclear C-h x previous-line <Return>.
|
|
Esto muestra toda la información que Emacs tiene sobre la función
|
|
que implementa el comando C-p
|
|
|
|
Un comando similar, C-h v, muestra documentación de las variables,
|
|
incluyendo los valores que pueda poner para adaptar el comportamiento
|
|
de Emacs. Deberá teclear el nombre de la variable cuando Emacs
|
|
pregunte por ella.
|
|
|
|
C-h a Comando Apropos. Teclee una palabra y Emacs hará una
|
|
lista de todos los comandos que contengan esa palabra.
|
|
Todos estos comandos pueden ser invocados con META-x.
|
|
Para algunos comandos, el Comando Apropos también
|
|
listará una secuencia de uno o dos caracteres la cual
|
|
ejecutará el mismo comando.
|
|
|
|
>> Teclee C-h a file <Return>.
|
|
|
|
Esto muestra en otra ventana una lista de todos los comandos M-x con
|
|
la palabra «file» en sus nombres. Verá los comandos de caracteres
|
|
listados junto a los nombres de los comandos correspondientes (por
|
|
ejemplo, C-x C-f junto a find-file).
|
|
|
|
>> Teclee C-M-v para desplazar la ventana de ayuda. Haga esto unas
|
|
cuantas veces.
|
|
|
|
>> Teclee C-x 1 para borrar la ventana de ayuda.
|
|
|
|
C-h i Leer los manuales incluidos (alias Info). Este comando
|
|
lo pone en un buffer especial llamado «*info*» donde
|
|
puede leer manuales de los paquetes instalados en su
|
|
sistema. Teclee m emacs <Return> para leer el manual
|
|
de Emacs. Si nunca ha usado Info, teclee ? y Emacs y
|
|
lo llevará por una visita guiada de los servicios del
|
|
modo de Info. Una vez que haya terminado este
|
|
tutorial, debería considerar el manual Info de Emacs
|
|
como su documentación primaria.
|
|
|
|
|
|
* MÁS CARACTERÍSTICAS
|
|
---------------------
|
|
|
|
Puede aprender más acerca de Emacs leyendo su manual, ya sea como
|
|
libro o en el propio Emacs (use el menú Ayuda, «Help», o teclee C-h
|
|
r). Dos características que pueden gustarle son la completación, que
|
|
ahorra teclear, y dired, que simplifica el manejo de archivos.
|
|
|
|
La completación es una manera de ahorrar teclear innecesariamente.
|
|
Por ejemplo, si quiere cambiarse al buffer «*Messages*», puede teclear
|
|
C-x b *M<Tab> y Emacs encontrará el resto del nombre del buffer tan
|
|
lejos como pueda determinar de lo que ya haya tecleado. La
|
|
completación también funciona con nombres de comandos y de archivos.
|
|
La completación se describe en el Info del manual de Emacs en el nodo
|
|
llamado «Completion».
|
|
|
|
Dired le permite listar los archivos en un directorio (y opcionalmente
|
|
sus subdirectorios), moverse alrededor de esa lista, visitar,
|
|
renombrar, borrar y aparte de eso operar en los archivos. Dired está
|
|
descrito en el manual de Emacs en el nodo llamado «Dired».
|
|
|
|
El manual también describe otras características de Emacs.
|
|
|
|
|
|
* CONCLUSIÓN
|
|
------------
|
|
|
|
Para salir permanentemente de Emacs use C-x C-c.
|
|
|
|
Este tutorial intenta ser comprensible para todos los usuarios nuevos,
|
|
así que si encuentra algo que no esté claro, no se quede parado
|
|
culpándose a sí mismo: ¡quéjese!
|
|
|
|
|
|
* COPIA
|
|
-------
|
|
|
|
Este tutorial desciende de una larga línea de tutoriales de Emacs
|
|
comenzando con el escrito por Stuart Cracraft para el Emacs original.
|
|
|
|
La versión en español fue originalmente traducida por estudiantes del
|
|
Gimnasio Fidel Cano (un colegio en Santafé de Bogotá, Colombia):
|
|
|
|
Carlos Alberto López Troncoso
|
|
Andrés Felipe Mancipe Galvis
|
|
Lina Fernanda Pinto García
|
|
Liliana Carolina Quitián Cedeño
|
|
Leonardo Ramírez Vargas <leonardoramirez@latinmail.com>
|
|
Juan David Vargas Botero <cyberbob1164@hotmail.com>
|
|
Juan Pablo Yela Gallón
|
|
Jorge Enrique Cárdenas Carrillo <platypus_life@hotmail.com>
|
|
|
|
La versión en español ha sido revisada y corregida por:
|
|
|
|
Pablo Reyes <reyes_pablo@hotmail.com>
|
|
Igor Támara <ikks@bigfoot.com>
|
|
Melissa Giraldo de Támara <melagira@yahoo.com>
|
|
Vladimir Támara <vtamara@gnu.org>
|
|
Rafael Sepúlveda <drs@gnulinux.org.mx>
|
|
Juanma Barranquero <lektu@terra.es>
|
|
Luis Felipe López Acevedo <felipe.lopac@gmail.com>
|
|
|
|
La versión en español ha sido actualizada por:
|
|
|
|
Rafael Sepúlveda <drs@gnulinux.org.mx>
|
|
Juanma Barranquero <lekktu@gmail.com>
|
|
|
|
Por favor, en caso de duda, solo es válido el original en inglés de la
|
|
siguiente nota de derechos de reproducción (que puede encontrar en el
|
|
archivo TUTORIAL).
|
|
|
|
Copyright (C) 1985, 1996, 1998, 2001-2024 Free Software Foundation, Inc.
|
|
|
|
Se permite a cualquiera hacer o distribuir copias literales de este
|
|
documento como se recibe, en cualquier medio, siempre que la nota
|
|
de derechos de reproducción y la nota de permiso se preserven, y
|
|
que el distribuidor permita que el que la recibe hacer distribución
|
|
posterior como lo permite esta nota.
|
|
|
|
Se permite distribuir versiones modificadas de este documento, o
|
|
porciones de éste, bajo las condiciones anteriores, siempre que
|
|
ellas tengan nota visible especificando quién fue el último en
|
|
alterarlas.
|
|
|
|
Las condiciones para copiar Emacs mismo son más complejas, pero con el
|
|
mismo espíritu. Por favor lea el archivo COPYING y luego distribuya
|
|
copias de GNU Emacs a sus amigos. ¡Ayude a erradicar el
|
|
obstruccionismo del software («propietariedad») usando, escribiendo, y
|
|
compartiendo software libre!
|
|
|
|
--- end of TUTORIAL.es ---
|
|
|
|
;;; Local Variables:
|
|
;;; coding: utf-8
|
|
;;; End:
|