GNU Emacs posiblemente sea el editor de textos más potente que exista para sistemas Unix-Linux, lo cual es tanto como decir que se trata del editor de textos más potente que existe en términos absolutos.
Reconocimiento de formatos: Es lo primero que llama la atención de Emacs, y lo que hace que una vez que nos hemos acostumbrado a él se convierta en una herramienta insustituible.
Facilidad de configuración y personalización: En Emacs casi todo es personalizable. Podemos crear mandatos nuevos, asignar combinaciones de teclas diferentes a las previstas por defecto, alterar ciertas variables de las que depende el funcionamiento del propio Emacs, etc.
Extensibilidad: Que Emacs es extensible significa que cualquiera que sepa Emacs Lisp (un dialecto de Lisp en el que está escrita la mayor parte del propio Emacs) puede escribir nuevos mandatos de Emacs en dicho lenguaje de programación e incorporarlos al sistema, incluso sobre la marcha, sin necesidad de reinstalar o reiniciar el propio Emacs.
Formas de invocar a los mandatos
Hay básicamente tres maneras de ejecutar un mandato, aunque sólo la primera de ellas funciona siempre y para cualquier mandato:
- 1. Invocar al mandato por su nombre, indicándole a Emacs que queremos ejecutar un mandato de esa manera.
- Para ejecutar un mandato invocándolo por su nombre, lo primero que hay que hacer es decirle a Emacs que queremos introducir el nombre de un mandato para ejecutarlo. Eso lo podemos hacer de dos maneras: Pulsando simultáneamente la combinación de teclas Alt y “x”. Pulsando primero la tecla ESC y luego, tras soltar la tecla ESC, pulsando la tecla “x”.
- 2. Pulsar en el teclado la combinación de teclas a la que cierto mandato esté asociada.
- 3. Seleccionar el mandato del menú o de la barra de herramientas de Emacsç
Archivo de inicio
init archivo
- Para XEmacs , es ~ / .xemacs o ~ / .xemacs / init.el .
- Para AquamacsEmacs , es ~ / .emacs o ~ / Library / Preferences / Aquamacs Emacs / Preferences.el
Si no sabe donde se encuentra su archivo de inicio o si no tiene uno y quiere crearlo:
Cx Cf ~ / .emacs.d / init.el RET
Macros de teclado
Una macro de teclado: Grabación de una secuencia de secuencias de teclas. Una secuencia de teclas es una serie de pulsaciones de teclas del teclado, ratón, acciones o acciones de menú que se une a un comando de Emacs. Por lo tanto, una macro de teclado registra una secuencia de acciones de los usuarios que llevan a cabo los comandos de Emacs.
¿Cómo definir una macro de teclado?
- `
Cx (
‘o <F3>
– Empezar a definir una macro de teclado
- `
Cx)
‘o <F4>
– Finalizar la macro de teclado
Y aquí es cómo ejecutar una macro de teclado que ha definido:
'Cx e'
o <F4>
– Ejecutar la macro de teclado
Aquí está la forma de ejecutar la macro 37 veces (se utiliza 'C-u'
para proporcionar la 37):
Macros de usar y tirar
Es una forma de definir una macro sin embargo solo puede haber una en cada momento. Los pasos necesarios son:
- F3: Indica el comienzo de la grabación de la macro.
- Edita el texto de la forma habitual, incluyendo la ejecución de comandos que necesites.
- F4: Indica que la macro ha terminado.
Para ejecutar la macro:
F4: Ejecuta la macro guardada.
Nota: Al pulsar F3 se elimina la macro, y se inicia la grabación de una nueva.
Nombrar la macro:
Esto asigna un nombre a la macro, que tendrá validez durante la sesión de emacs en curso, después se perderá. Después de crear la macro, ejecutar alguno de los siguientes comandos:
- C-x C-k n
- M-x kmacro-name-last-macro
Asignar nombre, que debería ser una cadena de texto.
Para ejecutar una macro, pulsa M-x y escribe su nombre — funciona como un comando convencional.
Ejemplo:
Si desea añadir el texto «- foobar estaba aquí» al final de cada una de las líneas en un archivo.
- Coloque el TextCursor al principio de la primera línea.
- `
Cx (
‘para iniciar la grabación de una macro de teclado.
'C-e'
(o 'Mx de fin de línea'
) para mover el cursor hasta el final de la línea.
- Tipo »
- foobar estaba aquí
«
'C-A'
(o 'Mx inicio de línea'
) para mover el cursor al principio de la línea.
'C-N'
(o 'Mx next-line'
) para mover el cursor al principio de la línea siguiente.
- `
Cx)
» para detener la grabación de la macro de teclado.
'Cu 0 Cx e'
para ejecutar la macro un número infinito de veces hasta que el final del archivo se alcanza .
Lo que es importante aquí es dejar de definir la macro en una posición similar al punto de partida que – por lo que usted está en una posición para ejecutar de nuevo, después de que se ejecuta. Esta es una regla general de que a menudo se sigue para definir comandos de teclado: tratar de hacerlos ejecutables N veces seguidas.
En realidad, aunque es bueno aprender esta regla general, no es simplemente un acceso directo para la aplicación de este último definido macro de teclado a cada una de las líneas de una región:
- ‘Aplica-macro-a-regiones-líneas Mx’
O para ser más precisos (de la documentación del comando):
Para cada línea completa entre el punto y la marca, ir al principio
de la línea, y ejecutar la última macro de teclado.
Se puede nombrar a este último definido macro de teclado, de modo que a continuación, puede ejecutarlo por su nombre:
- ‘Mx nombre-pasado-kbd-macro’ – un nombre a la última macro de teclado definida.
¿Por qué hacer eso? Una de las razones es que le permite tener más de una macro definida en el mismo tiempo. Una vez que haya llamado a esta macro, por ejemplo, "mi-macro '
, se puede definir otro uno que lo haga otra cosa. A continuación, puede ejecutar la segunda macro usando 'Cx e'
y ejecutar 'mi-macro "
como si fuera un comando estándar de Emacs: ' Mx mi-macro '
. Si también nombre a la segunda macro, a continuación, se puede definir una tercera …
Macros de teclado sólo se definen por su actual sesión de Emacs . Si desea poder volver a utilizar una macro en un futuro período de sesiones, a continuación, guardarlo en el archivo de inicialización ( .emacs
o _emacs
). Abrir el archivo, a continuación, insertar la definición de la macro usando este comando:
- ‘Mx insert-kbd-macro’ – Insertar una macro de teclado en el punto llamado.
Si su inserción que macro en el archivo de inicio , puede utilizar 'M-x'
para ejecutar la macro de teclado llamado en futuras sesiones – al igual que si se tratara de un comando estándar de Emacs del mismo nombre. Si desea unirse a una tecla, se puede añadir un código como el siguiente a su archivo de inicialización:
(-set-teclas global (mil barriles diarios "Cc a" ) 'mi-macro)
Esto se une a la secuencia de teclas 'Cc a'
a la macro 'mi-macro'
.
Si desea modificar la macro en sesiones futuras, es necesario dejar que el kmacro
biblioteca sabe que el símbolo es de hecho una macro poniendo el kmacro
propiedad en el símbolo.
(Poner "mi-macro 'kmacro t)
Elementos de la pantalla de Emacs
En un sistema Unix-Linux, Emacs puede ejecutarse en modo de sólo texto o en modo gráfico. Sin embargo las partes de la pantalla de Emacs siempre serán las mismas y, en el fondo, la diferencia fundamental entre ejecutar o no Emacs en modo gráfico se encuentra en si se podrá o no hacer uso del ratón.
Las partes de la pantalla de Emas son las siguientes, contadas desde arriba hacia abajo:
Barra de menús.
La barra de menús se encuentra en la línea superior del marco ocupado por Emacs. En ella se agrupan varios mandatos que se supone que son de utilización más frecuente que los demás, y que además cambian según el modo mayor en que Emacs esté funcionando.
Área de edición.
Se trata de la parte más amplia de la pantalla de Emacs. En ella se realizará la edición. Esta zona puede a su vez dividirse en áreas más pequeñas a cada una de las cuales se la denomina ventana. En tal caso cada una de esas ventanas puede editar un buffer distinto.
Las órdenes más importantes en relación con las ventanas son las siguientes:
Ctrl x 2: Divide la ventana en 2 de forma horizontal.
Ctrl x 3: Divide la ventana en 2 de manera vertical.
Ctrl x 1: Deja solo una ventana abierta.
Ctrl Alt v: scrollea la ventana donde no tengo el foco.
Ctrl x o: cambia el cursor de una ventana a otra
Barra de modo.
La línea de modo se encuentra en la parte inferior de la ventana de edición. Por lo tanto si hay varias ventanas cada una de ellas dispondrá de su propia línea de modo, la cual, en modo de sólo texto se ve en vídeo inverso, y en modo gráfico tiene un aspecto tridimensional y un color gris. Esta línea de modo ofrece información variada sobre el buffer que se está editando en la ventana. Esta información se muestra en el siguiente formato:
El área de eco y el minibuffer
La última línea de la pantalla de Emacs se usa para dos cosas distintas. En ella se muestra el área de eco y en ella se ubica también el minibuffer. El área de eco es la zona en la que Emacs muestra los mensajes que tiene que dirigir al usuario. Estos mensajes se generan normalmente después de la ejecución de un mandato, y pueden advertir de algún error, o también pueden informar del resultado de la ejecución del mandato.
El minibuffer es una pequeña ventana que Emacs utiliza cuando necesita que el usuario introduzca cierta información adicional para la ejecución de un mandato. Por ejemplo: si ejecutamos el mandato que abre un fichero, habrá que indicar cómo se llama el fichero que queremos abrir, y ello se hará en el minibuffer.
Desplazamiento por el texto
Emacs contiene un completo juego de mandatos para facilitar el movimiento del cursor
Ctrl f: Moverse un carácter hacia adelante
Ctrl b: Moverse un carácter hacia atrás
Alt f: Moverse una palabra hacia adelante
Alt b: Moverse una palabra hacia atrás
Ctrl n: Moverse a la siguiente línea
Ctrl p: Moverse a la línea anterior
Ctrl a: Moverse al comienzo de una línea
Ctrl e: Moverse al final de una línea
Alt a: Moverse al inicio de una oración
Alt e: Moverse al final de una oración
Comandos para alterar el texto
Ctrl k: Borra texto, pero lo mantiene guardado y puede ser recuperado con Ctrl Y.
Ctrl d: Borra un carácter, pero no puede ser recuperado
Alt d: Borra palabras
Ctrl @ / Ctrl Espacio: marca el texto (primera marca)
Ctrl w: corto texto desde la marca de texto.
Alt w: copia texto desde la marca de texto.
Ctrl h: Marcar todo el buffer, como “Seleccionar todo”.
Ctrl y: “Yanks text”, pega el texto borrado con k o cortado/copiado con w.
Alt y: Recorre yanks previos, podemos recuperar algo que borramos varios Ctrl k antes.
Ctrl g: Cancelar comandos
Ctrl x + u: Deshacer
Ctrl /: Deshacer
COMANDOS CON CTRL + X
Ctrl x Ctrl f: “Visitar” nuevo archivo (si existe lo abre, sino lo crea).
Ctrl g: Cancelar comandos
BUFFERS
Ctrl x Ctrl b: Listar buffers. En Emacs no hay “pestañas” o “ventanas”. Cada archivo se abre en un buffer. Con este comando vemos todos los buffers que hayan abiertos en esta sesión de Emacs.
Ctrl x b: Cambiar de buffer.
Ctrl x k: Cerrar buffer
Ctrl x Ctrl s: Guardar un archivo
Ctrl x s: Guardar buffers
OTROS COMANDOS
Ctrl X Ctrl C: Salir de Emacs
Ctrl z: Suspende la sesion de emacs. Volvemos desde la consola con fg
Alt x: Modo comandos. Nos permite ejecutar comandos como los siguientes:
Alt x replace-string: reemplazo de strings
Alt x recover file: levantar respaldo del archivo
Ctrl S: Buscar strings incrementalmente (con Ctrl S sigo buscando hacia adelante, con Ctrl R busco hacia atrás y con enter termino la busqueda)
Alt % buscar ENTER reemplazar: Buscar y reemplazar
Fuentes de consulta
Haz clic para acceder a intro_emacs.pdf
Mi guía de referencia para Emacs
Haz clic para acceder a intro_emacs.pdf