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
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 .