Skip to main content

a silhouette of a person's head and shoulders, used as a default avatar

Steam Deck y el escritorio Plasma de KDE

Hace menos de una semana presenté la consola GNU/Linux de Valve, lo cual seguramente atraerá a nuevos usuarios a nuestro escritorio favorito. Previendo esta situación, Niccolè Ve, del cual hablé hace también poco, ha realizado un vídeo donde presenta los fundamentos del Steam Deck y el escritorio Plasma de KDE, una explcación sencilla pero necesaria para los que empiezan.

Steam Deck y el escritorio Plasma de KDE

Que el escritorio Plasma de la Comunidad KDE sea de lo más personalizable que puedes tener en tu ordenador, su configuración inicial no puede ser más sencilla y parecida a Windows (aunque ahora ha centrado su panel inferior).

No obstante, cuando intentamos exprimir nuestro entorno de trabajo Plasma, que es el que utiliza Steam Deck la consola GNU/Linux de Valve, éste responde a las mil maravillas, ya que la podemos convertir en todo lo que queramos.

Pues para explicar este concepto, Niccolò Ve ha realizado un simple vídeo donde lo explica a la perfección y que os invito a visualizar a continuación.

Características del Steam Deck

Aprovecho el artículo para volver a hablar de este dispositivo que me ha enamorado y que creo que es muy importante para la Comunidad KDE.

Steam Deck y el escritorio Plasma de KDE
  • Interfaz gráfica Plasma Desktop.
  • Procesador: APU AMD, con CPU Zen 2 4c/8t, 2.4-3.5 GHz y una GPU de 8 RDNA 2 CUs, 1-1.6 GHz.
  • Disco duro: 65 GB, 256 GB o 512 GB, según modelo.
  • 16 Gb de Memoria RAM de 16GB.
  • Pantalla táctil LCD de 7 pulgadas con una resolución 1280×800.
  • Batería entre dos y ocho horas de juego (es evidente que esto es muy variable cuando hablamos de videojuegos).
  • Sistema operativo: Steam OS, que no es más que un Arch Linux modificado.
  • Conectividad inalámbrica: Wi-fi, Bluetooth 5.0.
  • Control: doble botonera digital y analógica, 2 gatillos y 4 botones auxiliares bajo de la consola y dos touchpads a ambos lados de la pantalla.
  • Conectividad: USB-C
  • Dock opcional para conectarlo a una pantalla grande.

Más información: Steam

a silhouette of a person's head and shoulders, used as a default avatar

David Marzal en Podcast Linux #134, un activista comprometido

Este podcast es imprescindible para todos aquellos que nos guste la parte humana del Software Libre. Os invito a escuchar el episodio 134 en el que podemos a escuchar a David Marzal en Podcast Linux, un ejercicio de introspección de un activista de muchos frentes que él mismo dice que están conectados… y tiene razón.

David Marzal en Podcast Linux #134

David Marzal en Podcast Linux #134

Debo confesar que lo conozco poco, pero aún conociéndolo poco creo que seríamos grandes amigos ya que, entre otras cosas, de él podría aprender mucho y yo valoro este tipo de cosas en mis amistades.

Y es que David no solo es un entusiasta del Software Libre sino que además lleva a su vida (y a la de los demás) la filosofía de las 5 R, aunque creo que él tiene una más que es la R de Rechazar algunas acciones que son malas para nuestra sociedad. Además, siempre está dispuesto a colaborar con todo, lo cual es algo muy importante en la difusión de proyectos justos, algo muy alejado de las líneas políticas de nuestros dirigentes.

Así que os invito a escuchar esta charla distendida de David Marzal con Juan Febles de más de una hora que seguro que no os defraudará como no lo ha hecho conmigo.

En palabras de Juan:

«¡¡¡Muy buenas amante del Software Libre!!!
Bienvenido a otra entrega de Podcast Linux, la número 134. Un saludo muy fuerte de quien te habla, Juan Febles. Iniciamos las charlas de verano con David Marzal, Administrador de sistemas GNU/Linux de profesión, apasionado por el software libre y la sostenibiliad de vocación. Muy activo en Asociaciones como GNU/Linux Valencia, KDE España o Residuo Cero de la Región de Murcia.

Recordar a los oyentes que estamos en una sala Jitsi para esta charla, un servicio libre para videoconferencias, y que este podcast aloja su web en Gitlab, un servicio libre de repositorios git y su contenido en Archive.org, la biblioteca digital libre con licencias Creative Commons.»

.

Una vez realizada la presentación, y como siempre, os dejo el audio de David Marzal en Podcast Linux #134 para que los podáis disfrutar de este programa de una hora de duración:

Más información: Podcast Linux

Sigue a Podcast Linux

Aprovecho para animaros a seguir Podcast Linux en algunos de los canales de comunicación que tiene:

a silhouette of a person's head and shoulders, used as a default avatar

Canal KDE de Niccolò Ve en Youtube

Hoy tengo el gusto de presentaros el canal KDE de Niccolò Ve en Youtube, un canal de vídeos donde el Software KDE es el protagonista de la mano de un desarrollador de la Comunidad. Imprescindible.

Canal KDE de Niccolò Ve en Youtube

En estos tiempos, donde el entretenimiento multimedia se encuentra focalizado en internet, disponer de canales de difusión en las servicios más populares de la red es importante.

La gente de KDE lo sabe y por ello tiene un canas dedicado a ello llamado KDE Community, donde se cuelgan los vídeos oficiales y del cual me he nutrido en ocasiones, principalmente de sus anuncios y de sus trucos.

No obstante, siempre son bienvenidos otros canales como es el caso que nos ocupa hoy: el canal KDE de Niccolò Ve donde nos podemos encontrar tres listas de reproducción más que descropctivas:

  • KDE Devlogs: donde nos encontraremos consejos para desarrolladores.
  • KDE Plasma: How to: donde nos encontramos tutoriales para realzar algunas tareas con Plasma.
  • KDE Plasma Theme Guide: donde nos encontraremos trucos para crear nuestro propio tema para Plasma.

No obstante, no os dejéis engañar por los pocos, pero interesantes, vídeos que hay en las listas ya que si nos vamos a la sección de vídeos en general, nos encontraremos más de 50 vídeo con títulos tan interesantes como :

Canal KDE de Niccolò Ve en Youtube

Y estos son solo tres ejemplos de esa inmensa lista de vídeos.

En resumen, un canal imprescindible tanto para usuarios que buscan nuevas aplicaciones o trucos como para desarrolladores que quieren mejorar sus habilidades.

a silhouette of a person's head and shoulders, used as a default avatar

Más aplicaciones para Plasma Mobile, junio de 2021

Hace unos muchos meses hablé del progreso de Plasma Mobile, y en abril realicé un artículo donde enumeraba la gran cantidad de aplicaciones básicas que ya tiene el proyecto. Pues bien ese número no deja de crecer y cada día hay más aplicaciones para Plasma Mobile para tener un móvil más que preparado de serie para el día a día.

Más aplicaciones para Plasma Mobile

Para los que no lo conozcan Plasma Mobile es la alternativa libre a interfaz gráfica para smartphones de la Comunidad KDE, hablé de él hace un tiempo.

Su idea es muy simple, tras conquistar tu escritorio KDE también quiere conquistar tu teléfono móvil… aunque todavía lo tenga complicado.

Más aplicaciones para Plasma Mobile, junio de 2021

No obstante, confiemos que de igual forma se han ido conquistando los ordenadores de sobremesa, portátiles y servidores, lleguemos un día que podamos tener libertad total en nuestros smartphones.

Y para cuando eso ocurra la Comunidad estará preparada para ello y por eso está confeccionando un catálogo más que decente de aplicaciones con tecnología adaptativa que se ajustarán a nuestras pantallas.

Como he dicho, en abril realicé un artículo donde enumeraba la gran cantidad de aplicaciones básicas que ya tiene el proyecto, a las cuales este pasado junio se añadieron las siguientes, según podemos leer en la actualización de junio de Plasma Mobile.

  • Kalc: una calculadora siempre es necesaria para cualquier teléfono, y KAlgebra es demasiado potente para el uso diario.
  • Tokodon: nuevo cliente de Mastodon que por el momento permite navegar por la línea de tiempo de inicio, local y global; mostrar la información de la cuenta; publicar toots y respuestas (con archivos adjuntos) y permite utilizarlo con varias cuentas al mismo tiempo.
  • Kasts: un gestor de podcast que comenzó como una bifurcación de Alligator, pero actualmente soporta la lista de reproducción para los episodios, tiene controles de medios en la pantalla de bloqueo y en el panel de notificaciones, y evitará que el sistema/teléfono se suspenda mientras se escuchan los podcasts.
Más aplicaciones para Plasma Mobile, junio de 2021
Tokodon, nuevo cliente de Mastodon para Plasma Mobile

Y lo mejor de todo, muchas de estas aplicaciones pueden usarse en el escritorio estándar, como es el caso de Kasts.

Por otra parte, en esta actualización se ha mejorado también la Shell, y aplicaciones como Dialer, KPhoneBook, Alligator o KWeather.

Más información: Plasma Mobile

a silhouette of a person's head and shoulders, used as a default avatar

Pinetime el SmartWatch libre, tu reloj opensource

Si ayer presenté Steam Deck, una consola portátil libre de Valve con KDE Plama, hoy me complace presentar Pinetime el SmartWatch libre, un reloj opensource de la compañía Pine más que interesante y con opciones para los desarrolladores.

Pinetime el SmartWatch libre, tu reloj opensource

Que cada vez tenemos más dispositivos digitales interactivos en nuestras vidas es un hecho más que probado. A los clásicos televisores inteligentes, tablets, móviles, portátiles, ordenadores de escritorio, etc. se les suman otros que hace unos años solo eran justamente electrodomésticos o máquinas que no ofrecían más que su uso básico.

Dentro de esta gama de nuevos dispositivos que además de su función básica nos ofrecen nuevas posibilidades podemos hablar de los relojes inteligentes, que no solo te dan la hora sino que miden tus pasos, tus pulsaciones, se comunican con tu móvil, etc.

Evidentemente hay mucho tipos de SmartWatchs, que así se llaman, pero pocos son libres, es decir, pocos tienen Software Libre en su interior lo cual garantiza al máximo tu privacidad.

Uno de ellos, si no el único, pertenece a la compañía Pine (que también ofrece portátiles) y se llama Pinetime.

Pinetime el SmartWatch libre, tu reloj opensource

Este reloj sencillo, minimalista y con las siguientes características:

  • SoC: NORDIC Semiconductor nRF52832
  • CPU: 64MHz ARM Cortex-M4F
  • Pantalla RGB de 1,3 pulgadas, táctil capacitiva tipo IPS con 65K colores, y con una resolución de 240×240 pixeles.
  • Memoria interna 512KB Flash, 64KB RAM
  • Bluetooth 5, incluido el modo Low Energy.
  • Sensores: acelerómetro, latido del corazón.
  • Actuator: Vibrator
  • Batería: Built-in LiPo 170-180mAh con carga USB tipo A

Y la seguridad de que tus datos son tus datos y no van a ninguna compañía privada cuyo uso escapa a nuestro control. Creo que por su precio de solo 26,99€ está más que bien.

Además, Pine nos ofrece un Kit para que aquellos desarrolladores que lo deseen puedan mejorar y modificar las prestaciones del reloj.

Más información: Pinetime

a silhouette of a person's head and shoulders, used as a default avatar

#openSUSE Tumbleweed revisión de la semana 28 de 2021

Tumbleweed es una distribución “Rolling Release” de actualización contínua. Aquí puedes estar al tanto de las últimas novedades.

Tumbleweed

openSUSE Tumbleweed es la versión “rolling release” o de actualización continua de la distribución de GNU/Linux openSUSE.

Hagamos un repaso a las novedades que han llegado hasta los repositorios esta semana.

El anuncio original lo puedes leer en el blog de Dominique Leuenberger, publicado bajo licencia CC-by-sa, en este enlace:

Durante esta semana se han publicado 7 nuevas snapshots  (0708…0714)

Los cambios más relevantes que han traído hasta los repositorios de openSUSE Tumbleweed son:

  • linux-glibc-devel 5.13
  • Linux kernel 5.13.1
  • KDE Gear 21.04.3
  • KDE Plasma 5.22.3
  • vsftpd 3.0.4
  • grub2 2.0.6
  • bluez 5.60
  • fmt 8.0.0 junto con ceph 16.2.5

Y como siempre, un adelanto de lo que se está cocinando para próximas actualizaciones:

  • KDE Frameworks 5.84.0
  • Mozilla Firefox 90.0 y Thunderbird 78.12.0
  • Mesa 21.1.5
  • Linux kernel 5.13.2
  • libxcrypt 4.4.23
  • meson 0.58.1
  • rpmlint 2.0

Si quieres estar a la última con software actualizado y probado utiliza openSUSE Tumbleweed la opción rolling release de la distribución de GNU/Linux openSUSE.

Mantente actualizado y ya sabes: Have a lot of fun!!

Enlaces de interés

Geeko_ascii

——————————–

a silhouette of a person's head and shoulders, used as a default avatar

KDE Plasma en Steam Deck, la consola GNU/Linux de Valve

Me complace anunciar que tendremos la tencnología KDE Plasma en Steam Deck, la nueva consola GNU/Linux de la gran compañía de videojuegos Valve. Una atrevida apuesta que puede significar la entrada de nuevos usuarios linuxeros y la mejora de los juegos en sistemas GNU/Linux.

KDE Plasma en Steam Deck, la consola GNU/Linux de Valve

Parece que cuando la Comunidad KDE dice en secreto (y no tan secreto) que quiere conquistar el mundo no lo dice por decir: ya tenemos portátiles con Plasma, la posibilidad de convertir nuestro TV en uno inteligente también con Plasma Bigscreen y algún que otro smartphone con Plasma Mobile… ¿Nos queda otro dispositivo al cual hincar el diente? Muchos, pero uno muy preciado por los jugones puede ser tachado de la lista.

Y es que ayer fue presentado la esperada consola de Valve, que lleva por nombre Steam Deck y que nos ofrece dos grandes sorpresas: tiene como sistema operativo un GNU/Linux y como escritorio por defecto una modificación de Plasma Desktop con Wayland, algo que me consta que llevan tiempo trabajando los desarrolladores de la Comunidad KDE.

El aspecto de la nueva consola no puede ser más atractivo como podemos ver en la imagen inferior, a mi me recuerda a la PSP y a la nintendo Switch, aunque no tiene joycons.

KDE Plasma en Steam Deck, la consola GNU/Linux de Valve

Técnicamente es una buena bestia, según podemos leer en Vida Extra: APU AMD, con CPU Zen 2 4c/8t, 2.4-3.5 GHz y una GPU de 8 RDNA 2 CUs, 1-1.6 GHz. Memoria RAM de 16GB y una batería que puede alcanzar entre dos y ocho horas de juego.

Su sistema operativo es un Steam OS, que no es más que un Arch Linux modificado y, lo que más que ha sorprendido, su interfaz gráfica será un Plasma Desktop modificado para que su uso sea fluído en una pantalla táctil LCD de 7 pulgadas con una resolución 1280×800 píxeles con Bluetooth 5.0 y soporte para Wi-fi.

Respecto a sus botones dispondrá de doble botonera digital y analógica, 2 gatillos y 4 botones auxiliares bajo de la consola y dos touchpads a ambos lados de la pantalla. En otras palabras, viene cargado modos de interaccionar con ella.

En cuanto a los modelos que se pueden reservar tenemos:

  • 64GB por 419 euros.
  • 256GB por 549 euros.
  • 512GB por 679 euros.

Y por último, pero no menos importante, viene con un dock, que se adquiere de forma separad, para conectar a pantalla grande mediante su USB-C.

Os dejo un vídeo-montaje del anuncio oficial junto con una simulación de sus capacidades que seguro que os dejará con la boca abierta.

En definitiva, una gran noticia para el mundo gnu/linuxero ya que una compañía gigante como Valve, poseedor de la mayor tienda de videojuegos del mundo apueste por ofrecer sus juegos en un entorno GNU/Linux significa que:

Muchos usuarios podrán descubrir la potencia de los sistemas libres.

Que muchos juegos van a tener su versión nativa en sistemas GNU/Linux, con el consiguiente impulso para el resto del ecosistema linuxero, haciendo disminuir uno de los grandes escollos para la entrada de nuevos usuarios: los videojuegos.

Por lo pronto está disponible para su reserva para los clientes de Estados Unidos, Canadá, Europa y Reino Unido. Si te gustan los juegos, yo no me lo pensaría… y si te gusta cacharrear, creo que va a ser una máquina perfecto para ello.

Más información: Steam

a silhouette of a person's head and shoulders, used as a default avatar

Lanzado digiKam 7.3, con soporte para ExifTool

Esta máxima se repite en cualquier aplicación que quiera mantenerse «vivo» durante mucho tiempo: que una aplicación sea excepcional no significa que su desarrollo haya finalizado. El mejor gestor de imágenes de la Comunidad KDE (y una de las mejores del mercado tanto libre como privado) sigue su desarrollo. De esta forma ha sido lanzado digiKam 7.3, una nueva versión de la séptima rama principal que incluye, entre otras, el soporte para ExifTool.

Lanzado digiKam 7.3, con soporte para ExifTool

Lanzado digiKam 7.3, con soporte para ExifTool

El pasado 12 de julio fue lanzado digiKam 7.3 la nueva versión de uno de los gestores de imágenes más completo que puedes encontrar en el mundo GNU/Linux, e incluso en el mundo privativo.

Este nuevo digiKam sigue recibiendo un intenso trabajo que se inició en esta rama y que nos ofrecía la renovación del algortimo de reconocimiento de caras (esta vez basado en el Aprendizaje Profundo)

Esta nueva versión menor (pero importante) nos ofrece las siguientes novedades:

Lanzado digiKam 7.3, con soporte para ExifTool

  • DNG Converter ha recibido una importante actualización del SDK interno de Adobe para mejorar la compatibilidad con las modernas características de los archivos RAW originales y los objetivos de Digital Negative. Esta herramienta por lotes también está disponible en Showfoto con esta versión
  • FITS y MPO, son ahora totalmente compatibles con la versión 7.3.0, incluidos los metadatos.
  • Se ha desarrollado y probado un nuevo plugin para exportar fotos a iNaturalist. Este servicio web es una red social de naturalistas, científicos ciudadanos y biólogos que se basa en el concepto de mapear y compartir observaciones de la biodiversidad en todo el mundo. iNaturalist recibe observaciones de plantas, animales, hongos y otros organismos en todo el mundo, y en la actualidad hay unos 130.000 usuarios activos.
  • Mejoras en las herramientas de presentación y en los pases de diapositivas. Una característica que se ha mantenido durante mucho tiempo era la de permitir a los usuarios enviar los elementos actuales que se muestran a la papelera durante la presentación de diapositivas. Un estudiante seleccionado este año para el evento Google Summer of Code ha trabajado en este tema y ha extendido esta característica a la herramienta de Presentación.
  • Búsqueda de duplicados mejorada. Con la versión anterior, la búsqueda de duplicados en una gran cantidad de imágenes requería mucho tiempo utilizando sólo un núcleo de la CPU. Con esta nueva versión, ahora se utilizan todos los núcleos de la CPU para acelerar la búsqueda en la base de datos, y se introducen algunas mejoras de usabilidad comunicadas por los usuarios finales.
Lanzado digiKam 7.3, con soporte para ExifTool

Más información: Digikam 7.3

Las novedades de digiKam 7

Aunque gran parte del trabajo para esta nueva versión, como he dicho, se lo ha llevado el reconocimiento facial con interesantes mejoras, digiKam también nos ofrece jugosas novedades. Hagamos un repaso:

  • Mejoras reconocimiento facial como:
    • Porcentaje de acierto de un 97%.
    • Mejoras en rapidez y eficiencia en el uso de recursos.
    • Posibilidad de detectar caras no-humanas. ¡También podremos tener registradas a nuestras mascotas!
    • Posibilidad de detectar caras borrosas, cubiertas, pintadas, parciales, etc.
Las novedades de digiKam 7
  • Nuevo soporte para ficheros RAW files para nuevas cámaras como Canon CR3 o Sony A7R4.
  • Mejorado el soporte para las imágenes con formato HEIF.
  • Mejoras en el paquete binario con soporte para FlatPak.
  • Nueva herramienta, ImageMosaicWall, para crear una imagen basada en otra colección de fotos.
  • Nuevas opciones para escribir información de geolocalización en los metadatos del archivo.
  • El plugin HTMLGallery introduce un nuevo tema llamado «Html5Responsive».
Las novedades de digiKam 7

Y, por supuesto, muchos errores solucionados, con lo que parece que tendremos la mejor versión de digiKam que puede tener vuestro ordenador.

¿Qué es digiKam?

La mejor forma de definir digiKam es buscar como se describe esta aplicación de userbase.kde.org y realizar una pequeña síntesis:

«DigiKam es una aplicación que te permite la importación de fotografías desde  cámaras, creación de álbumes, etiquetado con fechas, temas y otras propiedades, utilidades de búsqueda excelentes y modificación de imágenes en masa.»

a silhouette of a person's head and shoulders, used as a default avatar

Game of Life, otro wallpaper animado para tu fondo de pantalla Plasma

Que el escritorio Plasma de la Comunidad KDE es increiblemente configurable es un hecho incontestable. Y desde hace unas cuantas versiones de Plasma todavía más ya que es posible descargar nuevos tipos de fondos de pantalla en nuestro escritorio. De esta forma se puede ampliar las opciones básicas como el color plano, la imagen fija o el carrusel de imágenes. Hoy me congratula compartir con vosotros uno más: Game of Life, el cual nos pone el clásico juego de simulación en nuestro escritorio.

Game of Life, otro wallpaper animado para tu fondo de pantalla Plasma

Hace unos mese os hablé de Video Wallpaper, un plugin con el que podíamos poder un vídeo como fondo de pantalla en Plasma. Era una opción muy interesante y, que según el vídeo a reproducir, consumía pocos recursos.

También comenté Animated Image Wallpaper otro plugin de fondo de pantalla creado por Dark-Eye con el que podemos poner imágenes animadas como fondo de pantalla y que soporta los formatos animado GIF, MNG y WEBP.

Y hace aún menos presenté, Flip Clock, un wallpaper animado para nuestro entorno de trabajo y que queda de fábula. No tiene ninguna opción y se instala directamente desde la configuración del fondo de pantalla.

Hoy toca Game of Life un fondo de pantalla animado para nuestro escritorio que simula el clásico juego de cero jugadores, lo que quiere decir que su evolución está determinada por el estado inicial y no necesita ninguna entrada de datos posterior. (Vía: Wikipedia).

Game of Life, otro wallpaper animado para tu fondo de pantalla Plasma

No obstante su creador, thaloi, advierte que el consumo de recursos puede ser un poco elevado en determinados sistemas. Por otra parte, también comenta que puede utilizarse como pantalla de bloqueo.

Y como siempre digo, si os gusta Flip Clock podéis “pagarlo” de muchas formas en la página de KDE Store, que estoy seguro que el desarrollador lo agradecerá: puntúale positivamente, hazle un comentario en la página o realiza una donación. Ayudar al desarrollo del Software Libre también se hace simplemente dando las gracias, ayuda mucho más de lo que os podéis imaginar, recordad la campaña I love Free Software Day 2017 de la Free Software Foundation donde se nos recordaba esta forma tan sencilla de colaborar con el gran proyecto del Software Libre y que en el blog dedicamos un artículo.

Más información: KDE.Store

a silhouette of a person's head and shoulders, used as a default avatar

Curso de Vim: Las macros en #Vim

Las macros en Vim son una gran herramienta para ahorrarnos tiempo en tareas repetitivas

Con las macros podremos guardar una serie de comandos que nosotros introducimos y que se vuelven a repetir cuando los necesitemos.

Veamos cómo utilizar las macros en Vim para ahorrarnos un trabajo tedioso. En este caso, voy a poner un ejemplo propio de cómo las macros me han hecho “el trabajo sucio”.

Este artículo es una nueva entrega del curso “improVIMsado” que desde hace meses vengo publicando en mi blog sobre el editor Vim y que puedes seguir en estos enlaces:

Y para aprender Vim (de la manera más inteligente) aquí tienes esta útil guía:

Las macros en Vim nos sirven para almacenar una serie de comandos que realizan una acción y después poder ejecutar la misma secuencia de comandos una y otra vez sin necesidad de tenerlos que escribir todas las veces lo mismo.

Os aconsejo leer el capítulo relacionado con las macros de la Guía para aprender Vim de la manera más inteligente:

Voy a poner un caso en concreto. Tenía un archivo con un montón de enlaces en formato html que tenían este aspecto:

    <li><a href="https://victorhckinthefreeworld.com/2017/06/14/como-salir-del-editor-vim/">Cómo salir del editor Vim</a></li>
    <li><a href="https://victorhckinthefreeworld.com/2018/09/20/mejora-tu-experiencia-usando-el-editor-vim/">Mejora tu experiencia usando el editor Vim</a></li>
    <li><a href="https://victorhckinthefreeworld.com/2019/03/05/vim-gitgutter-plugin-vim-git/">vim-gitgutter es el plugin que necesitas si usas el editor Vim para trabajar con Git</a></li>
    <li><a href="https://victorhckinthefreeworld.com/2019/03/13/dando-mis-primeros-pasos-con-el-editor-vim/">Dando mis primeros pasos con el editor Vim</a></li>
    <li><a href="https://victorhckinthefreeworld.com/2019/03/14/usando-el-editor-vim-para-manejar-listas-todo-de-tareas/">Usando Vim para manejar listas .todo de tareas</a></li>
    <li><a href="https://victorhckinthefreeworld.com/2019/03/28/el-editor-kate-de-kde-en-modo-vim/">El editor Kate de KDE en modo Vim</a></li>
    <li><a href="https://victorhckinthefreeworld.com/2019/04/02/usando-abreviaturas-en-el-editor-vim/">Usando abreviaturas en el editor Vim</a></li>
    <li><a href="https://victorhckinthefreeworld.com/2019/04/10/utilizar-pestanas-en-el-editor-vim/">Utilizar pestañas en el editor Vim</a></li>
    <li><a href="https://victorhckinthefreeworld.com/2019/04/17/atajos-de-teclado-de-vim-terminal-gnu-linux/">Atajos de teclado de Vim en nuestra terminal de GNU/Linux</a></li>

Y como esos, una buena lista de muchos otros enlaces más. Y quería convertir esos enlaces en una lista de enlaces pero con formato Markdown. Para que tengan este aspecto:

* [Cómo salir del editor Vim](https://victorhckinthefreeworld.com/2017/06/14/como-salir-del-editor-vim/)
* [Mejora tu experiencia usando el editor Vim](https://victorhckinthefreeworld.com/2018/09/20/mejora-tu-experiencia-usando-el-editor-vim/)
* [vim-gitgutter es el plugin que necesitas si usas el editor Vim para trabajar con Git](https://victorhckinthefreeworld.com/2019/03/05/vim-gitgutter-plugin-vim-git/)
* [Dando mis primeros pasos con el editor Vim](https://victorhckinthefreeworld.com/2019/03/13/dando-mis-primeros-pasos-con-el-editor-vim/)
* [Usando Vim para manejar listas .todo de tareas](https://victorhckinthefreeworld.com/2019/03/14/usando-el-editor-vim-para-manejar-listas-todo-de-tareas/)
* [El editor Kate de KDE en modo Vim](https://victorhckinthefreeworld.com/2019/03/28/el-editor-kate-de-kde-en-modo-vim/)
* [Usando abreviaturas en el editor Vim](https://victorhckinthefreeworld.com/2019/04/02/usando-abreviaturas-en-el-editor-vim/)
* [Utilizar pestañas en el editor Vim](https://victorhckinthefreeworld.com/2019/04/10/utilizar-pestanas-en-el-editor-vim/)
* [Atajos de teclado de Vim en nuestra terminal de GNU/Linux](https://victorhckinthefreeworld.com/2019/04/17/atajos-de-teclado-de-vim-terminal-gnu-linux/)

Claro, editar una línea o cinco, no sería mucho trabajo, pero si ya son 30 o más, eso se puede hacer muy pesado. Menos mal que las macros de Vim, nos permiten hacerlo una vez (y hacerlo bien) y poder replicarlo una, diez o cien veces.

Cómo grabar y ejecutar una macro

Las macros se guardan en registros que son las letras del alfabeto. Es decir, tienes la posibilidad de grabar una macro desde la “a” a la “z”.

Para grabar una macro en Vim, estando en modo normal, pulsamos la letra q para empezar a grabar la macro y una letra, por ejemplo la a para que se grabe la macro en ese registro. Algo así:

q a

Verás que en la parte inferior derecha de la pantalla aparecerá el texto:

grabando @a

Ahora es la hora de empezar a ejecutar las ordenes que queramos/necesitemos y todas esas acciones se quedarán guardadas en el registro de la macro.

Finalizamos la grabación de la macro volviendo a pulsar la letra q. Cuando hayamos terminado, podremos volver a ejecutar la macro con:

@a

En este caso la a porque hemos utilizado este registro para guardar la macro, si has utilizado otro, sería otra letra.

También podremos ejecutar @@ y nos ejecutará la última macro ejecutada (en este caso de nuevo ejecutará la macro a)

Si al ejecutar la macro, vemos que ha realizado la acción correctamente, podremos ya desplegarla para que la haga las veces que quiera, por ejemplo podremos ejecutar la macro 30 veces mediante:

30 @ a

La macro se ejecutará 30 veces o se parará antes si encuentra un error, eso es útil para que la macro se detenga cuando la acción que ejecuta no es la esperada.

Si la acción que ejecuta no es lo que esperamos, podremos volver a grabarla de nuevo, ejecutando esta vez los comandos correctos, en el mismo registro.

Modificar una macro

En vez de volver a escribir de nuevo la macro y guardarla en el mismo registro, podremos depurar las partes que no funcionan de la macro editándola y añadiendo acciones o modificando las partes que deseemos.

Podremos añadir acciones al final de la macro mediante, para eso en vez de utilizar la letra minúscula (en nuestro ejemplo la a) utilizaremos la misma letra pero en mayúscula (en nuestro ejemplo la A).

Simplemente escribiremos qA y los nuevos comandos que queramos que se añadan al final de la macro.

Pero también podremos modificar una macro, no solo añadiendo comandos al final de la macro, si no, modificar partes intermedias de la macro. Cabe resaltar, que deberemos conocer ciertos comandos internos de Vim a la hora de ver cómo se ejcutan internamente comandos como Esc u otros.

  • pegamos el contenido de la macro (en nuestro caso la a) con: put a
  • Veremos el contenido de la macro
  • Modificamos las partes que deseamos
  • Guardamos el contenido de la nueva macro, situándonos al inicio de la línea y ejecutando: “ay$

Ahora al ejecutar la macro a, debería realizar nuevas funciones, según lo que hayamos modificado. Podemos ver el contenido de una macro ejecutando el comando

:reg a

Ejemplo práctico

En mi caso, como he dicho, quería cambiar todos los enlaces de html a markdown. Para ello he ejectuado comandos de Vim, he ejecutado complementos de Vim, etc. Veamos cómo:

  • Lo primero, llevo el cursor al inicio de la línea (0)
  • Quito el sangrado de la línea (<<)
  • Elimino la etiqueta <li> </li> con el complemento surround (dst)
  • Copio el texto del enlace que hay entre las comillas (yi”)
  • Borro la etiqueta a href y me queda solo el texto del texto del enlace
  • Encierro ese texto con corchetes (yss])
  • Inserto un asterisco al inicio de la línea (I *)
  • Añado al final de la línea una apertura de paréntesis y vuelvo al modo normal (A(Esc)
  • Pego el texto del enlace que había copiado en el paso 4 (p)
  • Añado un cierre de paréntesis (A))
  • Bajo una línes (j)

Y vuelvo a pulsar q para finalizarla grabación de la macro. Ahora ejecuto @a y veo que funciona correctamente en la línea siguiente. Es hora de ver cómo Vim realiza el trabajo el solo en todo el texto y ejecuto 99@a

No quiere decir que vaya a ejecutar 99 veces la macro. Como he dicho antes, la ejecución de la macro se detiene cuando ocurre un error, y en este caso cuando encuentre una línea en la que no haya un enlace el proceso se detiene.

Cuando finaliza, veremos que todos los enlaces en formato html se han convertido correctamente a markdown, sin necesedidad de picar texto una y otra vez.

Espero que este ejemplo, te haya servido para descubrir la potencia de las macros y de aprender a utilizarlas cuando sea necesario ahorrándote tiempo y esfuerzo.