Emacs, el editor de texto con vocación de sistema operativo

Si has oído hablar de ‘emacs‘, quizá tengas una idea de este software como un editor de texto avanzado, algo más similar a Visual Studio Code que al Bloc de Notas, pero que funciona tanto en entornos gráficos como en modo texto (de hecho, es famoso por sus largas listas de atajos de teclado, que permiten usar todas sus funciones prescindiendo por completo del mouse).

Puede que también estés enterado de que sigue en pie una larga y acalorada guerra entre sus usuarios más entusiastas y los del editor Vi/Vim. Éstos últimos suelen decir de Emacs, medio en broma medio en serio, que se trata de “un gran sistema operativo al que sólo le falta un editor de texto decente”.

Emacs está disponible para Windows, Linux, *BSD, Mac, MS-DOS, Android, etc
Y es que es cierto que este software —un histórico de los entornos Unix, creado en 1976 por el hoy tan polémico Richard Stallman— es tan modular y personalizable, y dispone de un ecosistema tan variado de complementos, que podría decirse que únicamente carece de kernel para completar las funciones básicas de un sistema operativo (de hecho, hay quien ha logrado hacer funcionar un PC únicamente con el kernel de Linux y el propio Emacs).

Sus propias ventanas, paquetes, aplicaciones… y hasta distribuciones

Cuando en Emacs hablamos de ‘ventana’, no nos referimos a la única que se abre al iniciar el programa (que sería el ‘frame’), sino a las múltiples subventanas internas que podemos llegar a abrir dentro del propio programa, cada una con su propio ‘buffer’ de contenidos.

Dichas ‘ventanas’ pueden ser del editor de texto, de cualquier otra funcionalidad si antes hemos recurrido a las múltiples extensiones disponibles para Emacs (tantas que, como si de un SO se tratase, cuenta con su propio gestor de paquetes).

Y, de igual modo que tu sistema operativo reacciona de forma distinta según qué tipo de archivo indiquemos que queremos usar (abriendo el Notepad si es un .txt, el VLC si es un .mkv, etc), los ‘modos’ de Emacs se activan según el tipo de archivo que queremos abrir, ofreciendo funcionalidades distintivas en cada caso.

Suelen usarse para cosas simples como colorear la sintaxis de un código con base al lenguaje que estemos usando, pero se pueden usar para visualizar documentos y archivos multimedia, para organizar notas, para acceder a páginas web, usar la línea de comandos, etc.

Siendo tan configurable y contando con tantas posibles aplicaciones complementarias no es de extrañar que, al igual que ocurre ya con Linux, Emacs cuente con ‘distribuciones’ dirigidas a determinados usos y tipos de usuarios, como Spacemacs, Dooms Emacs, Prelude, etc.

Emacs cuenta con paquetes de aplicaciones como EAF (Emacs Application Framework), que puedes ver en funcionamiento en la imagen principal del artículo; pero también con complementos (aplicaciones) individuales con una larga trayectoria, como los siguientes:

Línea de comandos: eshell


Hay varias opciones para utilizar la línea de comandos del sistema desde Emacs. Dos de ellas son ‘shell’ y ‘term’, que no hacen sino permitir a Emacs interactuar con Bash o alguna otra shell externa. Sin embargo, Emacs también cuenta con una shell propia llamado ‘eshell‘, que emula el comportamiento de las ‘coreutils’ (grep, cat, cp, cd, diff, ls, echo, mv, makdir, rm, alias…), pero con su propio comportamiento y personalizaciones…

…como la opción de redirigir la salida de un comando directamente a un búfer Emacs, de utilizar pseudodispositivos como /dev/clip (para mandar algo al Portapapeles), o de combinar los comandos con instrucciones en lenguaje LISP.

Administrador de archivos: dired

Dired es un administrador de archivos, muy similar al famoso Midnight Commander, que lleva 47 años facilitando la realización de operaciones con ficheros desde Emacs. Incluye funciones de búsqueda y filtrado de ficheros y, usado en combinación con paquetes como Tramp, es capaz de usar protocolos como SSH, telnet o FTP para acceder también a sistemas de ficheros remotos.

Organizar de notas: Org-Mode

Vivimos en tiempos en que muchos usuarios consideran a Evernote algo ya pasado de moda en los tiempos de Notion… y sin embargo, otros llevan décadas disfrutando de muchas de las funciones de éste gracias a uno de los ‘modos’ más valorados de Emacs: Org-Mode.

A grandes rasgos, es una base de datos basada en archivos de texto simple capaz de servir como diario personal, como listado de tareas, como planificador de proyectos o incluso como sistema de publicación de blogs.

Reproductor multimedia: emms

El Emacs MultiMedia System (EMMS) es el resultado de introducir en Emacs un clon del histórico XMMS (a su vez, un clon libre de WinAmp), permitiendo manejar archivos de audio y listas de reproducción, o el scrobbling mediante Libre.fm. Recurriendo a extensiones, puede incluir funciones complementarias, como la búsqueda de letras de canciones.

Navegador web / cliente de email: Eww + mu4e

Eww (Emacs Web Wowser) es un navegador web muy ligero, aunque algo retro: compatible con varias funcionalidades de HTML5 y CSS, pero sigue sin ser la mejor opción para mostrar ciertos sitios web modernos.

En cualquier caso, combinando este navegador con el uso del cliente de e-mail Mu4e, Emacs nos permitirá realizar la mayor parte de nuestras tareas online sin necesidad de minimizarlo o cerrarlo. ¿Y si necesitamos un lector de feeds RSS? Pues tendremos la opción de instalar Elfeed. ¿O de chatear en IRC? Pues instalemos ERC.

Gestor de ventanas: exwm

Si dudabas de la capacidad de Emacs para asumir la mayor parte de las funciones de un sistema operativo, tus dudas desaparecerán una vez descubras que ‘exwm‘ permite usar Emacs como un gestor de ventanas minimalista (no muy distinto del popular i3), de tal forma que permitirá incluso ejecutar programas ajenos a Emacs como si fueran un búffer (ventana) de éste. Puede ser usado también en combinación con entornos de escritorio como LXDE.

GNU GB

Queremos seguir creando cursos gratuitos en nuestro canal de YouTube. Solo te pedimos tu ayuda para crecer más. Suscríbete por favor. (Cursos, talleres y charlas gratis para ti).

Ernesto Mota
Nací en el d.f., sigo siendo defeño, hoy radico en la hermosa ciudad de Cuernavaca, Morelos, soy Ing. en Sistemas computacionales, con un posgrado en Tecnologías de información, Doctorando en ambientes virtuales de aprendizaje y realidad aumentada, Tecnólogo es mi categoría laboral, y mi linea de investigación es la realidad aumentada aplicada a nuevos entornos de aprendizaje.

Últimos artículos

a

Publicasciones relaciodadas