Primeros pasos con Emacs
19/03/2024Para los que aun no lo conocen, GNU Emacs
es un editor de texto que se basa en atajos. Por si solo tiene muchas herramientas que te pueden ser útiles. Ya sea para editar algún archivo, escribir, programar y hasta como un organizador.
En esta primer entrada vamos a ver como iniciar con emacs, los atajos básicos y como ir aprendiendo.
Instalación
Emacs esta disponible para casi cualquier sistema operativo. Por lo que su instalación de manera muy sencilla:
Ubuntu / Debian:
# apt install emacs
ArchLinux:
# pacman -Sy emacs
Fedora:
# dnf install emacs
FreeBSD:
# pkg install emacs
MacOS:
$ brew install --cask emacs
Otros:
Para otros sistemas operativos Linux podrás instalarlo sea cual sea su gestor de paquetes.
En el caso de Windows puedes descargar la aplicación desde el servidor FTP de GNU: http://ftp.gnu.org/gnu/emacs/windows/
Bases de Emacs
Por si solo GNU Emacs puede parecer un programa raro y no queda claro como utilizarse. Podemos utilizar el menú que viene en la parte superior, desde ahí podríamos abrir archivos, guardarlos, usar el mouse, etc. Pero la intención es que se utilicen los atajos de teclado para aumentar la velocidad cuando usas este editor de texto.
A partir de ahora vamos a ver algunos atajos de teclado con una nomenclatura donde:
Tecla | Equivalente | Comentario |
---|---|---|
Ctrl | C | Para MacOS la tecla Command |
Alt | M | Para MacOS la tecla option |
SPC | Space | - |
Además el guión medio significa unión de teclas y el espacio significa combinación. Por ejemplo:
Atajo emacs | Traduccion | Comentario |
---|---|---|
C-x |
Ctrl+x |
Una presión de ambas teclas al mismo tiempo |
C-x s |
Ctrl+x s |
Presión al mismo tiempo de Ctrl+x luego presión de s |
C-x C-s |
Ctrl+x Ctrl+s |
Presión al mismo tiempo de Ctrl+x luego presión de teclas al mismo tiempo de Ctrl+s |
Atajos básicos
Ahora para poder usar GNU Emacs de manera básica aquí esta una lista de atajos junto a sus traducciones.
Atajo emacs | Traducción | Acción |
---|---|---|
C-x C-f |
Ctrl+x Ctrl+f |
Abrir un archivo |
C-x C-s |
Ctrl+x Ctrl+s |
Guardar archivo actual |
C-a |
Ctrl+a |
Ir al inicio de la linea |
C-e |
Ctrl+e |
Ir al final de la linea |
C-s |
Ctrl+s |
Realizar búsqueda de texto |
C-w |
Ctrl+w |
Cortar |
M-w |
Alt+w |
Copiar |
C-y |
Ctrl+y |
Pegar |
C-x u |
Ctrl+x u |
Deshacer |
M-% |
Alt+% |
Buscar y remplazar |
C-x C-c |
Ctrl+x Ctrl+c |
Cerrar emacs |
Con estos comandos podemos ya utilizar emacs como un editor de texto común y corriente. Pero es apenas el inicio, con los días este tipo de comandos se empiezan a memorizar y comienzas a necesitar de mas atajos!
Múltiples archivos
Con eglot puedes abrir varios archivos a la vez, cada archivo que abras se denomina "buffer". Para poder cambiar entre buffers (archivos) tenemos los atajos:
Atajo emacs | Acción |
---|---|
C-x b |
Cambiar a otro buffer |
C-x C-b |
Abrir lista de buffers |
C-x k |
Eliminar un buffer (si hay cambios pendientes te avisara) |
C-x Right |
Siguiente buffer |
C-x Left |
Buffer anterior |
Múltiples ventanas
Podemos dividir la pantalla de emacs para poder ver dos (o mas) archivos a la vez, muy útil cuando configuraciones dependen de otros archivos:
Atajo emacs | Acción |
---|---|
C-x 3 |
Dividir pantalla horizontalmente |
C-x 2 |
Dividir pantalla verticalmente |
C-x 1 |
Quitar todas las divisiones excepto la actual (no elimina buffers) |
C-x 0 |
Quitar división actual (no eliminar el buffer) |
El kill-ring
GNU Emacs tiene una característica llamada "Kill Ring" con el que todo lo que hayas copiado (M-w) o cortado (C-w) se guarda y puedes utilizarlo para después con el atajo (M-y). Un ejemplo practico.
Si copiamos un texto con el comando (M-w) el texto "Hola mundo!". Nuestro kill ring tendrá:
- Hola mundo!
Luego cortamos con el comando (C-w) la palabra "programación" Nuestro kill ring tendrá
- programación
- Hola mundo!
Si volvemos a copiar o cortar cualquier otro texto se agregara al kill ring
- nuevo texto copiado
- programación
- Hola mundo!
Ahora al intentar pegar el texto con el comando (C-y) pegara en el editor la palabra "nuevo texto copiado" Pero si utilizamos el Kill Ring con el comando (M-y) cambiara el pegado de la palabra "nuevo texto copiado" por "programación". Volviendo a usar el comando (M-y) cambiara el pegado de la palabra "programación" por "Hola mundo!".
Al final el Kill ring tiene un ciclo repetitivo. Al llegar al final se reinicia.
Plugins incorporados
Emacs tiene varios plugins ya incorporados que pueden ser de utilidad para cualquiera:
Org
Org es un modo (mode) de Emacs para edición de texto plano pero con características enriquecidas. En pocas palabras lo que ya hace Markdown pero con muchas mas características como:
- Seguimiento de tareas (con estatus)
- Organizador de tareas por prioridades
- Atajos fáciles para tomar notas
- Plantillas para toma de notas rápida
Entre un montón mas de características, que con un par de plugins mas podemos organizar nuestro calendario, crear nuestro organizador de cerebro (como Notion), ejecutar bloques de código y mas.
Para activarlo basta abrir un archivo con la extensión .org
.
En otra entrada hablare de como utilizarlo mas a detalle.
Eglot
Eglot es un plugin para la edición de programas, con características como:
- Detección de errores
- Auto completado
- Importación automática (depende el lenguaje de programación)
Y todo lo necesario para programar en lenguajes como:
- Javascript
- Python
- C
- C++
- Lisp
Y cualquier otro lenguaje (instalando algunos plugins extras).
Estos son los primeros pasos para utilizar GNU Emacs. Ahora nos falta empezar a utilizarlo para acostumbrarnos a los atajos y darnos cuenta que ahora somos mas rápidos editando con Emacs.
Después veremos como personalizarlo, darle un "look" mas moderno y bonito. Además de instalar plugins que nos ayudaran a aumentar la productividad y ahorrar tiempo en acciones del día a día.
Tags: #emacs
#tutorial
#gnu/linux