iAgosto

Programación, SysAdmin, GNU/Linux y otras cosillas

Inicio | Entradas | Acerca de

Primeros pasos con Emacs

19/03/2024

Para 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:

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:

Y todo lo necesario para programar en lenguajes como:

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

Volver arriba