coches de segunda mano Sillas de Ruedas

Introducción a GNU Emacs.



Acerca de esta documento
Que es GNU Emacs
Conociendo GNU Emacs
El buffer principal
La linea de modo
El area eco
Opciones de inicio
Editando archivos con Emacs
Combinaciones de teclas utiles
Abrir y guardar
Seleccionar, cortar, copiar y pegar
Moverse a traves del texto
Buscar
Borrar
Trabajo con ventanas


Acerca de este documento

Tomando en cuenta los grandes alcances de GNU Emacs, se aclara que ésta es solamente una muy breve introducción a esta versátil herramienta, a fin de que el usuario se inicie en el uso de esta poderosa herramienta en su modalidad de editor de texto.

¿Qué es GNU/Emacs?

La página del manual de Emacs lo define originalmente como: "un editor extensible, personalizable, auto-documental y de tiempo real", pero como muchos sabrán Emacs no es un simple editor de texto, muchos consideran a Emacs incluso como un lenguaje de programación, y quizá no sea tan descabellada esta connotación, puesto que Emacs es un intérprete del lenguaje Emacs lisp, que a su vez desciende de lisp, un poderoso lenguaje de programación que fué concebido originalmente para trabajar con IA (inteligencia artificial).

¿Qué significa Emacs?, el nombre de Emacs proviene de Editor de macros, aunque muchas son las bromas que se hacen entorno a Emacs, una de ellas dice que Emacs proviene de Emacs make a computer slow (N. del T. Emacs alenta la computadora) esto debido a su robustes, otra curiosa definición que he leído es que proviene de Escape meta alt control shift por la enorme cantidad de combinaciones de teclas que utiliza.

Como bien lo dice su definición Emacs es extremadamente extensible y polifacético, ya que se puede desde editar un simple fichero de texto hasta navegar por internet, entrar a nuestros canales favoritos en IRC, leer y enviar correo electrónico, reproducir música e inclusive hecharse una partidita de ajedrez, y una aparentemente interminable lista de cosas que podemos hacer con él, en este escrito solo se abarcará una introducción a su uso como editor de texto.

También se califica a Emacs como personalizable, y esto es otra gran verdad, esto se puede hacer desde su fichero de configuración ubicado en nuestro directorio personal con el nombre de .emacs o emacs.el, el cual contendrá una serie de rutinas en Emacs lisp que Emacs ejecutará cuando se inicie.

Quizá Emacs no se encuentre instalado en nuestra máquina (sobretodo cuando se hacen instalaciones mínimas) pero esto no será impedimento para utilizarlo, puede ir a la página de descarga y obtener la última versión disponible (la 21.4.1 desde la que escribo este texto) o si utiliza gestores de paquetes como apt-get en Debian GNU/Linux es seguro que Emacs esté entre los paquetes disponibles de su repositorio.

Siempre que usted lea manuales de Emacs se encontrará con instrucciones del tipo C-x M-c, quizá en un principio usted no sepa a qué se refiere esto, es algo a lo que tendrá que acostumbrarse, pero es sencillo la "C" es equivalente a la tecla Control (Ctrl) y la "M" proviene de Meta y que es equivalente a la tecla Alterno (Alt), por lo que para el ejemplo se tendría que oprimir Ctrl seguido de la letra "x" y después Alt seguido de la letra "c", la tecla Meta también se puede conseguir presionando la tecla Escape (Esc), soltándola y presionando la letra del comando, para el ejemplo sería Esc suelto la tecla y oprimo la letra "c", ¿sencillo no?. Quizá también se tope con la expresión <RET> que es equivalente a la tecla Enter o Return.

Para empezar a trabajar con Emacs debemos de escribir simplemente la palabra emacs en nuestra terminal y se abrirá el programa o también podemos pasarle un archivo como parámetro del tipo emacs prueba.txt o inclusive pasarle más de un archivo como parámetro, por ejemplo:

emacs prueba.txt prueba2.txt prueba3.txt
Emacs abrirá los archivos y los almacenará en 3 buffers diferentes, ya veremos más adelante como trabajar con más de un archivo a la vez.



Conociendo GNU Emacs

Empezaremos por conocer cómo se llaman las diferentes áreas de trabajo en Emacs.

Buffer principal

El área principal de trabajo, que es en donde podremos editar texto, se llama buffer principal, esto porque en Emacs nunca trabajamos directamente con el archivo original, si no con una "copia" llamada buffer, por eso, lo que vemos siempre, es un buffer o una copia del original. Cuando guardamos nuestro trabajo, Emacs guarda el trabajo que mantení en el buffer.

La línea de modo

La línea de modo está exactamente debajo de el buffer principal, y es parecida a esto:

--uu:---  prueba.txt        (Text)--L1--All-----------------------------------
Lo cuál se interpreta de la siguiente manera:

El área eco

El área eco se encuentra exactamente debajo de la línea de modo, sirve para mostrarle mensajes al usuario (por ejemplo cuando se guarda el archivo, cuando vamos a abrir alguno, etc) y también allí podremos ir visualizanso los comandos que vayamos tipeando.



Opciones de inicio

Ahora mencionaré las opciones más comunes para cuando estamos iniciándonos con Emacs. En la actualidad existen dos versiones comunes de Emacs, GNU Emacs y XEmacs, por ejemplo, si nosotros tenemos ambiente gráfico pero queremos trabajar con Emacs desde una terminal, podemos pasarle como parámetro la opción:

emacs -nw
con esto Emacs se ejecutaría dentro de nuestra terminal. Si no queremos que nuestro Emacs cargue las directivas que tenemos especificadas en nuestro .emacs deberemos pasarle como parámetro la siguiente opción:
emacs -q
si lo que queremos es utilizar el archivo de inicio de otro usuario sería con la opción:
emacs -u <usuario>
Hay una opción que utilizo mucho, sirve para entrar en Emacs lisp en modo debugger, se utiliza cuando hay algún error en nuestro .emacs:
emacs --debug-init
También se pueden utilizar las opciones combinadas, como por ejemplo:
emacs -nw --debug-init -u exalin
con lo cual estaría iniciando Emacs desde mi terminal en modo debugger utilizando el archivo .emacs del usuario exalin.



Editando archivos con Emacs

Bien, ahora que ya conocemos con qué opciones podemos iniciar nuestro Emacs ya estamos listos para empezar a trabajar con archivos, para lo cual ejecutaremos Emacs en nuestra terminal con

emacs -nw
acto seguido buscaremos algún archivo en nuestro directorio home para trabajar, esto lo haremos con la combinación C-x C-f con lo que nos aparecerá en el área eco: Find file: ~/ en donde buscaremos el archivo que vamos a editar, por si deseamos abrir uno existente, o podemos también escribir allí el nombre del nuevo archivo, para guardar los cambios realizados en un archivo se utiliza la combinación C-x C-s con lo cual Emacs notificará que guardo los cambios mostrando en pantalla algo como: Wrote /home/exal/prueba.txt lo cual me indica que se guardó el archivo ubicado en /home/exal/prueba.txt, despues de guardar para salir completamente del editor utilizaremos C-x C-c, con esto ya hemos hecho un muy breve trabajo con un archivo.
Adicionalmente Emacs cuenta con la función de auto-guardado, esto, cuando vamos haciendo cambios en un archivo y no los vamos guardando, Emacs los guarda en un archivo con el símbolo "#" al inicio y al final del nombre de dicho archivo, por ejemplo, el nombre del archivo auto guardado de prueba.txt sería #prueba.txt# , cabe mencionar que cuando realmente guardamos el cambio en el archivo, este archivo auto guardado es borrado, ahora, que si nos ha pasado algún accidente (cerramos sin querer, se nos apagó la PC, ect.) podemos recuperar nuestro trabajo con el archivo auto guardado (mismo que como no guardamos los cambios no se eliminó), para lo que abriremos nuestro archivo original (no el autoguardado), al abrir este nos aparecerá un mensaje en el área eco avisándonos que existe una versión auto guardada de ese archivo, para recuperarla haremos M-x recover-file <RET> esto nos pedirá una confirmación a lo que responteremos yes <RET>.



Combinaciones de teclas útiles

Aquí pongo una lista de combinaciones de teclas que nos serán muy útiles a la hora de editar nuestros documentos.

Abrir y guardar

Para abrir un documento existente utilizaremos C-x C-f con lo que podremos navegar por nuestra jerarquía de directorios para encontrar el archivo, aquí podremos utilizar la tecla TAB para el autocompletado. Como ya vimos, para guardar el buffer actual se utiliza la combinación C-x C-s, si no se han hecho cambios en el archivo nos saldrá el mensaje: (No changes need to be saved). Si tenemos más de un buffer abierto podemos utilizar la opción C-x s la cual nos preguntará qué buffer es el que queremos guardar.

Seleccionar, cortar, copiar y pegar

Para copiar algún texto primero debe de seleccionarse lo cual se hace con:
C-<espacio> Emacs indica que se empezará con la selección con la frase Mark set y deberemos ir seleccionando la porción de texto que querramos, aclaración, no veremos dicha selección, cuando hayamos terminado de definir la porción de texto a seleccionar deberemos: cortar con C-w o copiar con M-w para posteriormente pegar, con C-y

Moverse a través del texto

C-f avanza un caracter
C-b retrocede un caracter
M-f avanza una palabra
M-b retrocede una palabra
C-a va al principio de la línea
C-e va al final de la línea
C-v avanza una pantalla
M-v baja una pantalla
M-x goto-line ir a una linea específica

Buscar

C-s busca hacia abajo
C-r busca hacia arriba
C-s C-s repite la búsqueda
M-C-s busca utilizando como patrón una expresión regular
M-x replace-string reemplazo de texto

Borrar

M-d borra una palabra
M-del borra palabra anterior
C-k borra toda la línea
M-k borra todo el párrafo
C-g cancela la ejecución de un comando
C-x u deshace el último cambio

Trabajo con ventanas

C-x 2 divide la ventana en dos (horizontalmente)
C-x 3 divide la ventana en dos (verticalmente)
C-x o para cambiar de ventana
C-x k cierra la ventana actual




Copyright (C) 2007 Exal de Jesus Garcia Carrillo <exal@gnu.org>, se permite la copia, redistribución y modificación de este documento siempre y cuando se conserve esta nota.

$Id: emacs.html,v 1.2 2007/03/13 21:02:40 exal Exp exal $