Blog sobre software libre

Posts tagged "emacs":

01 jul 2025

Elfeed

Mi forma preferida de leer los blogs y páginas que sigo es RSS. Con un lector de RSS, se puede estar al tanto de un montón de páginas sin tener que estar visitándolas a diario. Simplemente las entradas nuevas aparecen en la portada del lector RSS y así se pueden ver todas de un vistazo, para luego leerlas o visitar el sitio original.

En Emacs, el lector de RSS que uso se llama Elfeed. Su configuración y uso es muy simple, pero a la vez es muy potente. Permite etiquetar las diversas entradas de forma automática o manual, y usar filtros para ocultar o mostrar lo que nos interese.

Una de las ventajas de RSS es que se pueden generar fácilmente los archivos xml que usan los lectores como Elfeed. Por ejemplo, se pueden sacar xml de canales de Youtube, y así se puede estar al tanto de los vídeos nuevos sin tener que visitar Youtube.

Como ejemplo, dejo mi lista de feeds, parte de mi configuración de Emacs:

(elfeed-feeds
   '(("https://yewtu.be/feed/channel/UCDy1lHSVGBDL0d2_C5NZNJw" Themaoisha
      Video)
     ("http://antirez.com/rss" Antirez Blog)
     ("https://stallman.org/rss/rss.xml" RMS)
     ("https://notxor.nueva-actitud.org/rss.xml" Noxtor Blog)
     ("http://finaprosadigital.com/publish/blog/rss.xml" CPR)
     ("https://taonaw.com/index.xml" Emacs TAONAW)
     ("http://feeds.feedburner.com/uGeekBlog" Emacs uGeek)
     ("https://daemons.it/posts/index.xml" Emacs daemon)
     ("https://lukesmith.xyz/rss.xml" Luke)
     ("https://videos.lukesmith.xyz/feeds/videos.xml?sort=-publishedAt&filter=local"
      Video)
     ("https://www.youtube.com/feeds/videos.xml?channel_id=UCaifrB5IrvGNPJmPeVOcqBA"
      Kruggsmash Video)
     ("https://www.bay12games.com/dwarves/dev_now.rss" Dwarf Fortress
      Video)
     ("https://www.youtube.com/feeds/videos.xml?channel_id=UCD6VugMZKRhSyzWEWA9W2fg"
      Video)
     ("https://karl-voit.at/feeds/lazyblorg-all.atom_1.0.links-only.xml"
      Blog Voit)
     ("https://planet.emacslife.com/atom.xml" Emacs)
     ("https://protesilaos.com/master.xml" Prot Blog)
     ("https://greenwald.substack.com/feed" Glenn Blog)
     ("https://victorhckinthefreeworld.com/feed/" Victr Blog)
     ("https://sachachua.com/blog/feed/" Sacha Blog)
     ("https://www.danielclemente.com/cambios/cambios.xml" Blog)
     ("https://edwardsnowden.substack.com/feed.xml" Snowden Blog)
     ("https://twobithistory.org/feed.xml" 2bit Blog)))
Tags: elfeed, rss, emacs
01 ene 2025

2FA en i3wm

En la entrada 2FA en eshell expliqué cómo configurar la identificación en dos pasos en eshell, asignándole una tecla que podemos pulsar estando en Emacs para copiar el codigo al portapapeles.

Sin embargo, no funciona si no estamos dentro de Emacs. Para que funcione globalmente usando el gestor de ventanas i3 windows manager, podemos añadir la siguiente línea al archivo config situado normalmente en ~/.config/i3/config:

bindsym XF86AudioMicMute exec emacsclient --eval "(eshell2fa)"

He usado un atajo de teclado un poco raro, pero es que el Thinkpad X230 que uso tiene un botón de fácil acceso de silenciar el micrófono que nunca uso, y me viene perfecto para tener el 2FA a mano. Por supuesto se puede cambiar por cualquier otra tecla.

Con esto ya podemos tener acceso al código 2FA cómodamente pulsando un botón.

Tags: i3, 2FA, Emacs
20 dic 2023

Tabla de etiquetas en Emacs

Hoy estaba en una práctica de informática intentando comprender un código bastante ilegible de un profesor, y me acordé de que con Emacs se puede construir un archivo de etiquetas para poder consultar rápidamente algunas definiciones.

En concreto es bastante útil si hay cabeceras personalizadas con funciones y estructuras predefinidas y no quieres estar todo el rato de un lado para otro mirando definiciones.

Por suerte me acordaba de dónde tenía que consultar cómo crear el archivo para poner en funcionamiento el sistema y lo hice sobre la marcha, pero por si acaso no me acuerdo en el futuro lo voy a dejar aquí documentado.

La característica a la que me refiero se llama TAGS en el manual de Emacs, y se puede consultar más sobre su funcionamiento en el nodo Tags tables, que a fecha de este post es el punto 29.4.2 del manual.

Si no entendido mal todo consiste en crear un archivo al que Emacs pueda acudir para mirar las definiciones correspondientes y saltar hacia donde sea necesario. Para crear este archivo basta con ejecutar por ejemplo find . -name "*.[chCH]" -print | etags - en el directorio base del proyecto y luego pulsar M-. en la definición que queramos mirar.

A pesar de no tener internet en el momento de la práctica pude consultar todo esto con tan sólo un C-h i, y montar el archivo aunque no me acordaba de como se hacía. Y como resultado pude comprender la práctica de forma mucho más fácil y conseguí hacerla sin desesperarme, todo gracias a Emacs :).

Tags: TAGS, Emacs
02 abr 2022

Company ya tiene manual

Una de las mejores cosas que tiene el proyecto GNU, y por extensión GNU/Emacs, es la documentación. Con el paso de los años cada vez valoro más la importancia de una buena documentación, ya que leerla es la mejor forma de aprender a usar un determinado software.

En el caso de company-mode, tuve problemas cuando estaba configurándolo porque busqué por todos lados la documentación oficial pero solo encontraba posts en diversos blogs, que aunque pudieran ser muy útiles, no contenían el material de referencia que estaba buscando.

Quizás debido a que estoy ya acostumbrado a la extensa documentación de gran calidad de GNU, ni siquiera consideré que no existiera un manual como tal, y simplemente dejé de buscar porque pensé que no era capaz de encontrarlo. Pero hace poco descubrí que efectivamente el manual de company-mode se publicó en enero de 2022 si no me equivoco.

Está disponible online en https://company-mode.github.io/manual/Getting-Started.html, o, dependiendo de la versión de Emacs instalada se puede acceder al manual desde el propio Emacs con C-h R company RET.

Tags: company-mode, emacs
21 oct 2021

Eshell para administración de sistemas

Llevo un tiempo intentando sustituir mi uso de Bash por Eshell. No es que tenga nada en contra de Bash, simplemente eshell es parte de Emacs y está escrita en Lisp, por lo que la puedo adaptar como quiera y se integra mejor en mi flujo de trabajo.

Sin embargo seguí usando Bash para conectarme por ssh a mi servidor en la Raspberry Pi. Hace poco descubrí que no es necesario hacer ésto si uso la Eshell. Simplemente puedo abrir una conexión con Tramp desde Emacs, y una vez que esté por ejemplo en un directorio remoto con dired, abrir la Eshell. Mágicamente estaré ya dentro del servidor como si de una conexión por ssh se tratase.

Lo único que me queda por resolver es la configuración de Tramp, ya que ahora mismo se me queda pillado a veces y no consigo conectarme al servidor a través de él, aunque pueda hacerlo por ssh normalmente.

Tags: eshell, emacs
Other posts
Other posts
Creative Commons License
www.finaprosadigital.com by Carlos Pajuelo is licensed under a Creative Commons Attribution-ShareAlike 3.0 Unported License.