Tabla de Contenidos

EMACS

GNU Emacs es el editor de texto con presentación en terminal, estrella del sistema operativo GNU, y está disponible en muchas plataformas.

Su fichero de configuración es ~/.emacs.el.

Para cargar un archivo en Emacs podríamos utilizar:

emacs fichero

Si el archivo ya existe, se te presentará entonces la primera página del texto en pantalla.

La manera más sencilla de aprender emacs es el completo tutorial en línea que incluye. Para ello usa Esc para ir al modo de comandos, e ingresa help-with-tutorial.

Comandos de Emacs

Los comandos en Emacs son caracteres de control (realizados mientras presionamos la tecla Ctrl mientras tipeamos otro caracter) o en prefijos por un conjunto de caracteres reservados Esc o Ctrl+x.

Podremos tipear tecla Esc directamente (porque realmente es un carácter) y seguirla por otro carácter. La tecla Ctrl debe mantenerse presionada mientras tipeamos el otro caracter.

Comandos Comunes

Retroceder Borra hacia atras
Supr Borra hacia adelante
Ctrl+Barra espaciadora Selecciona/bloque de texto
Ctrl+k Borra todo el texto desde el cursor hasta el final de la línea
Ctrl+/ Deshacer
Ctrl+g Cancelar comando
Ctrl+x,Ctrl+c Salir

Comandos de Ayuda

Ctrl+h help-command: Muestra el primer carácter en montones de archivos de ayuda
Ctrl+h,t help-with-tutorial: Comando que ejecuta el tutorial de Emacs
Ctrl+h,i information: muestra la mayoría de los comandos de Emacs
Ctrl+h,k describe-key: Informa qué hace una tecla particular
Ctrl+h,a command-apropos: pregunta una cadena y luego busca todos los comandos de Emacs que la contengan
Esc+? también hace command-apropos
Ctrl+h ? help-for-help: Describe como usar las ayudas.

Manejo de ficheros y comandos de guardado

Ctrl+x,Ctrl+f Abrir fichero: solicita el nombre de fichero a buscar, y lo carga en un buffer de edición del mismo nombre
Ctrk+x,Ctrl+s Guardar: almacena el buffer en el disco con un nombre asociado
Ctrl+x,Ctrl+w Guardar como: Solicita un nuevo nombre de archivo y escribe el buffer en él

Comandos de Movimiento del Cursor o de la pantalla

Emacs operaba en antiguos sistemas UNIX, cuyas terminales iniciales carecían de teclas de control asociadas a los teclados actuales. Normalmente hoy utilizamos las flechas de cursor y las de control del cursor y control de paginado, pero en Emacs podremos contar también con las equivalencias de los teclados antiguos.

Flechas del cursor Mueve el cursor
Ctrl+a Mueve el cursor al Inicio de la línea
Ctrl+e Mueve el cursor al Fin de la línea
Ctrl+f Mueve el cursor hacia adelante un caracter
Ctrl+b Mueve el cursor hacia atrás un caracter.
Esc+f Avanza el cursor una palabra
Esc+b Retrocede el cursor una palabra
Ctrl+n Mueve el cursor a línea a continuación
Ctrl+p Mueve el cursor a la línea previa
Ctrl+v Avanza pantalla
Esc+v Retrocede pantalla
Esc+<; Va al inicio del buffer
Esc+>; Va al final del Buffer

Comandos para Copiar y Borrar

Ctrl+@ set-mark-command Marca el comienzo de un área de texto a ser operada
Ctrl+d delete-char Borra el caracter debajo del cursor (“Supr”)
Esc+d,d delete-word Borra desde el cursor hasta el final de la palabra inmediatamente por delante del cursor
Cttl+k kill-line Elimina la línea actual
Ctrl+w kill-region Borra el área de texto entre la marca y la posición actual del cursor.
Ctrl+y yank inserta en la posición actual del cursor actual o en la localización más recientemente borrada
Esc+w copy-region-as-kill Copia un área entre la marca y el cursor al buffer de borrado, de modo que pueda ser colocado en otro lado.

Comandos de Búsqueda

Ctrl+s isearch-forward Busca incrementalmente una cadena de texto.
Ctrl+r isearch-backward Similar al anterior, pero busca la cadena en sentido inverso
Esc+% query-replace Buscar y reemplazar

Comandos de Ventana y Buffer

Ctrl+x,0 zero-window Borra la ventana actual
Ctrl+x,2 double-window divide la ventana actual en dos partees, permitiendo editar en dos localizaciones diferentes de un mismo archivo, o permitiendo ver dos ficheros distintos a la vez
Ctrl+x,b switch-to-buffer Presenta un buffer distinto en pantalla
Ctrl+x,o other-window Mueve el cursor a la otra ventana (asumiendo que existan dos ventanas o buffers abiertos a la vez
Ctrl+x, Ctrl+b list-buffers lista los buffers cargados en memoria

Salir de Emacs, corregir errores y otros

Ctrl+x, Ctrl+c save-buffers-kill-emacs Cuando termina la edición, guarda los buffers editados pero no guardados y vuelve al Shell.
Ctrl+g keyboard-quit Si mientras tipea un comando comete un error, aborta el comando en progreso.
Ctrl+u universal-argument Si desea repetir un comando varias veces ingrese este comando, …seguido de un nro. (para la cantidad de veces) …seguido de un comando que desea repetir
Ctrl+x,u undo deshace el último comando ingresado, en caso de haber cometido un error.
Esc+x execute-extended-command pregunta el nombre de un comando de emacs; Le permite ejecutar un comando si conocer cómo se llama, pero no puede recordar su atajo.

Recursos adicionales

Ver: https://hispa-emacs.org/

Diferencias con Vi

A diferencia de Vi, Emacs no es un editor con modo de inserción, lo que significa que cualquier carácter que ingresemos en Emacs se insertará automáticamente en el archivo, a no ser que incluya un prefijo de Comando.

Otra distinción entre Emacs y Vi consiste en que emacs es capaz de editar varios archivos a la vez. La ventana de Emacs puede dividirse en varias ventanas, cada una de las cuales presentará una vista en el buffer de memoria. Cada buffer de memoria corresponde normalmente a un archivo diferente. Es por ello que muchos de los comandos listados a continuación se emplean para leer ficheros y cargarlos en nuevos buffers, así como mover distinto contenido entre buffers diferentes .