Skip to main content

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

Curso de Vim: cómo buscar y reemplazar un texto en múltiples archivos con #Vim

Aprenderemos cómo buscar y reemplazar una cadena de texto en varios archivos gracias al editor Vim

Imaginemos que tenemos una carpeta en nuestro equipo con varios archivos y en todos ellos queremos buscar un texto y reemplazarlo por otro. Por ejemplo el nombre de una variable en un código, un nombre de una función, un nombre de unos capítulos de nuestra novela, etc

Una opción sería abrir uno por uno todos esos archivos, buscar la cadena a modificar y cambiarlo. Pero como ya hemos aprendido muchas herramientas de la línea de comandos y vamos dominando el editor Vim, vamos a conjugar ambas habilidades y ahorrarnos tiempo y trabajo.

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:

Este artículo es una adaptación del artículo en inglés escrito por Victoria Drake para la web freecodecamp y parte de la guía para aprender Vim de la manera más inteligente:

Tal como he planteado en el ejemplo, podremos buscar y reemplazar un texto presente en diferentes archivos gracias a comandos como find y grep de la terminal y Vim.

Vamos a imaginar que estamos en una carpeta con varios archivos en Python, y en todos ellos queremos encontrar la palabra «foo» abrir esos archivos con Vim y después sustituirla por «bar».

Primero vamos a buscar en la carpeta actual llamada Scripts todos los archivos de Python mediante:

find . -name '*.py'

Nos mostrará una lista de todos los archivos en esa carpeta que tienen dicha extensión. Ahora vamos a buscar en esos archivos cuales tienen la cadena «foo» y abrirlos con el editor Vim ejecutando el comando:

find -name "*py" | xargs grep -il 'foo' | xargs vim

Vim abrirá todos esos archivos encontrados en diferentes buffers, tienes más información sobre el tema en la guía para aprender Vim de la manera más inteligente.

Ahora en Vim, basta con ejecutar el comando de sustitución de una cadena por otra en Vim, pero diciéndole que lo haga en todos los buffers abiertos anteponiendo el comando :bufdo. Algo similar a esto:

:bufdo %s/foo/bar/gc

Al comando de sustitución (%s) de una cadena (foo) por otra (bar) le hemos añadido las opciones gc:

  • g → para indicar que realice la sustitución de manera global en todo el archivo
  • c → para que pregunte en cada cadena encontrada si debemos realizar el cambio o no

Acabada la tarea, podremos guardar todos los cambios de todos los archivos abiertos en los buffers, mediante:

:bufdo wq

Y de un plumazo gracias a Vim y a un par de comandos de la terminal habremos resuelto una tarea que podría convertirse en tediosa por el tiempo que puede llevar.

¿Te ha resultado útil? ¿Tienes una manera mejor de realizar esta tarea? Comparte tus ideas y sugerencias en los comentarios.

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

Manasarovar, la versión de iconos degradados de Kora

El número de temas de iconos para tu escritorio es casi infinito y un buen número de ellos han sido presentados en el blog. De hecho hace poco que os presenté Kora, un tema de iconos que destacaba por ser coloridos pero a la vez sobrios pero de todo puede aparecer una evolución. Este es el caso de Manasarovar, la versión de iconos degradados de Kora.

Manasarovar, la versión de iconos degradados de Kora

Me fascina la variedad que tenemos a nuestra disposición, tanto de forma, estilo o colores. Tenemos iconos clásicos, minimalistas, lineales, 3D, que simulan otros sistemas operativos, imaginativos, etc.

No obstante, siempre se puede conseguir un resultado diferente aplicando alguna transformación. Es lo que ha pensado y creado Tarma que nos presenta nuevo tema de iconos llamado Manasarovar, el cual está basado en Kora (ya hemos hablado de esta tema en el blog), que sigue destacando por su forma estilo elegante, colorido y perfecto para temas oscuros que ofrece bonitos degradados.

Manasarovar, la versión de iconos degradados de Kora

En esta ocasión, no hay muchas versiones de Manasarovar pero dejemos tiempo al diseñador para que siga creando, y si tenéis, prisa pedidla en los comentarios de la Store de KDE.

Manasarovar, la versión de iconos degradados de Kora

Y como siempre digo, si os gusta el pack de iconos podéis “pagarlo” de muchas formas en la página en continua evolución (mirad su nuevo aspecto) 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

Publicada la versión 3.2.0 para el navegador Falkon de #KDE

Después de casi 2 años, se ha publicado una nueva actualización del navegador Falkon desarrollado por la comunidad KDE

En el principio fue Qupzilla y vio la comunidad de KDE que era bueno, así que cambió de nombre, y aquel primigenio navegador web que utiliza el motor QtWebEngine pasó a llamarse Falkon y a convertirse en un proyecto más bajo la comunidad de KDE.

Y en este final de enero de 2022 ha publicado su versión 3.2.0 que ya está disponible para descargar y muy pronto en los repositorios de las distribuciones de GNU/Linux.

El proyecto comenzó como algo personal por parte de un desarrollador, que quería aprender a desarrollar y se embarcó con este proyecto que al inicio se llamaba Qupzilla.

Con el tiempo, poco a poco, ese experimento de navegador web fue ganando en funcionalidades, en mejoras y pasó al amparo de la comunidad KDE para darle infraestructura, una plataforma de desarrollo y la oportunidad de que una de las comunidades más importantes de software libre le fuera dando más cariño.

A partir de la versión 3.0 publicada en 2018, le cambiaron el nombre por el actual Falkon y se publicaron unas cuantas nuevas versiones que hacían el proyecto cada vez mejor, ya como proyecto de KDE.

Pero desde hace casi 2 años, en concreto desde marzo del 2019, no se había visto una nueva publicación del navegador.

Por lo que muchas personas que el proyecto se había abandonado, pero echando un vistazo de vez en cuando por el repositorio de desarrollo veía que sí había movimientos. Y hoy ese esfuerzo colectivo ha dado sus frutos en la publicación de la versión 3.2.0 del navegador Falkon.

Esta nueva versión viene cargadita de nuevas funcionalidades, como así atestigua el registro de cambios que trae.

Así que si eras habitual de este navegador, ligero, multiplataforma escrito en C++, estás de enhorabuena. Puedes encontrarlo en muchas formas para descargar o actualizar.

Disponible via Flatpack, Snap y si eres como yo, que prefiere tirar de repositorios oficiales, pronto estará en los repositorios de las distribuciones GNU/Linux.

El halcón vuelve a planear sobre nuestras cabezas, nunca se había ido del todo, pero es bueno volverle a ver tan cerca. ¿Utilizas Falkon como navegador?

Enlaces de interés

Photo by Pixabay on Pexels.com
a silhouette of a person's head and shoulders, used as a default avatar

Alpaca Clock and Weather – Plasmoides de KDE (190)

Siguen los plasmoides estilo reloj al blog que parecen que vuelven a estar de moda. Tras presentar a Time Keeper Evolution y Clear Clock hace poco, el widget de hoy (el número 190) de esta serie es Alpaca Clock and Weather, un minimalista y precioso

Alpaca Clock and Weather – Plasmoides de KDE (190)

Hoy sigo con los plasmoides para nuestro entorno de trabajo ya que la Comunidad KDE no para de ofrecernos variedad y calidad, y sigo con los de estilo reloj, aunque en esta ocasión nos ofrezca mucha más información.

De esta forma os presento Alpaca Clock and Weather, una creación de Eduardo Forca que nos ofrece un reloj con información meteorológica integrado elegante y funcional.

Alpaca Clock and Weather - Plasmoides de KDE (190)

Sus opciones de configuración son simples pero nos permiten personalizar fuentes y colores, así como la localización utilizando OpenWeather.

Alpaca Clock and Weather - Plasmoides de KDE (190)

Y como siempre digo, si os gusta el plasmoide podéis “pagarlo” de muchas formas en la mutante 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 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

¿Qué son los plasmoides?

Para los no iniciados en el blog, quizás la palabra plasmoide le suene un poco rara pero no es mas que el nombre que reciben los widgets para el escritorio Plasma de KDE.

En otras palabras, los plasmoides no son más que pequeñas aplicaciones que puestas sobre el escritorio o sobre una de las barras de tareas del mismo aumentan las funcionalidades del mismo o simplemente lo decoran.

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

Plasma 5.24 tendrá soporte extendido (LTS)

Me complace compartir con vosotros que la siguiente versión del entorno de trabajo de la Comunidad KDE, Plasma 5.24 tendrá soporte extendido, lo cual significa que durante año y medio recibirá correcciones para convertirla en un lanzamiento que destacará por su estabilidad.

Plasma 5.24 tendrá soporte extendido (LTS)

Las versiones del escritorio Plasma suelen tener una vida de unos cuatro meses, durante los cuales se realizan 5 actualizaciones corrigiendo los errores.

Con este sistema se consigue tener un entorno de trabajo puntero y con pocos errores ya que las actualizaciones siguen un intervalo de una serie de Fibonacci (en otra entrada las explico en profundidad) pero la idea es solucionar los errores mayores las primeras semanas desde su lanzamiento.

Lanzada la beta de Plasma 5.24, pequeñas pero muchas mejoras para un gran escritorio

No obstante, existen usuarios que no pretenden tener lo más nuevo ya que prefieren (o necesitan) mucho más la estabilidad de su sistema por delante de nuevas funcionalidades. Para todos ellos se crean cada 18 meses las versiones Plasma LTS (acrónimo de Long Time Support,)

Pues bien, me complace anunciar que Plasma 5.24 tendrá soporte extendido, es decir, será LTS que es como se suelen denominar estar versiones, siguiendo la estela de Plasma 5.8, 5.12 o 5.18.

Muchas de las novedades de Plasma 5.24 se han ido desgranando en el blog de Nate Graham, e incluso ya ha sido presentado su nuevo fondo oficial, pero si queréis saber qué nos espera no dejéis de ver el anuncio oficial donde veréis el ingente número de novedades para Wayland, el lanzador de aplicaciones, Discover, Breeze, plasmoides, Krunner, etc.

Aprovecho para recordar que la versión final de Plasma 5.24 estará disponible para el público en general el 8 de febrero, que en la actualidad se encuentra en fase beta de corrección de errores, que si encuentras uno deberías reportarlo (como se explica en esta entrada del blog) y que ahora sabemos que se mantendrá sin importantes cambios hasta octubre de 2023.

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

Primeras contribuciones a Season of KDE 2022

Un año más se está celebrando una nueva edición de un programa cuyo objetivo es incorporar nuevos estudiantes al gran proyecto mundial que es KDE.  En otras palabras, me complace presentar las primeras contribuciones a Season of KDE 2022, que a lo largo de su más de una década de existencia se ha consolidado como una alternativa bastante fiable a otros programas como Google Summer of Code o Google Code In que consiguen incorporar sabia nueva al proyecto.

Primeras contribuciones a Season of KDE 2022

Uno de los objetivos del proyecto KDE es involucrar al mayor número de personas en él y para ello organiza todo tipo de acciones: eventos como Akademy, encuentros como los Sprints, blogs colaborativos como KDE Planet, participación en proyectos para estudiantes como el Google Code In o Google Summer of Code, y, por supuesto, mejorar el código de sus múltiples proyectos con sus programas de incubación.

Primeras contribuciones a Season of KDE 2022

No contento con esto, una vez al año organiza Season of KDE, es decir, su programa para involucrar a nuevos estudiantes en KDE. Una especie de Google Summer of Code pero para colaborar directamente en KDE y con la posibilidad de desarrollar proyectos no vinculados necesariamente con la programación, es decir, proyectos de promoción, documentación, diseño, etc.

Este año, en el Dot de KDE se ha redactado un artículo escrito por Johnny Jazeix, donde nos explica nueve de estos proyectos que se han iniciado el pasado mes de diciembre.

Para dar visibilidad al proyecto creo que es positivo darlos a conocerlos en el blog en perqueñas contribuciones. De esta forma tenemos a:

  • Ayush Singh que trabajará en una capa de Rust para KConfig. Con esta capa, y las existentes para qmetaobject y ki18n, será más fácil desarrollar aplicaciones KDE en Rust. Se puede encontrar más información en la lista de correo kde-devel. Ayush tendrá como mentor a Jos van den Oever.
  • Pablo Marcos añadirá un nuevo panel para mostrar notificaciones en Tokodon, el cliente Mastodon de KDE. Pablo tendrá como mentor a Carl Schwan.
  • Snehit Sah ayudará a empaquetar más aplicaciones KDE para Flathub. Algunos paquetes están casi listos para Flathub, pero les falta información o archivos de manifiesto, por lo que aún no están disponibles en la plataforma. El objetivo del proyecto es mejorar los paquetes existentes y publicar más aplicaciones en Flathub. Snehit tendrá como mentor a Timothée Ravier.

En próximas entradas más proyectos de este Season of KDE 2022.

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

#openSUSE Tumbleweed revisión de la semana 4 de 2022

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 este enlace:

Nueva semana de actualizaciones sin sobresaltos, lo que da un total de 6 nuevas snapshots publicadas.

Como siempre, hagamos un repaso a las novedades más importantes:

  • systemd 249.9
  • Un montón de cambios en YaST (la mayoría cambios no visibles, y algunos cambios en la interfaz del instalador)
  • Mozilla Firefox 96.0.2
  • Samba 4.15.3 & 4.15.4
  • Virtualbox 6.1.32
  • Bash 5.1.16
  • Linux kernel 5.16.2
  • Cambio del gestor predeterminado de red de wicked a NetworkManager: hasta ahora, esto solo se hizo para instalaciones gráficas, pero recientemente NetworkManager también es el predeterminado en instalaciones solo de servidor/consola. Con nmtui es bastante cómodo configurarlo. Los actualizadores (todavía) no se migran a NetworkManager, pero permanecen con wicked. Por supuesto, wicked todavía está disponible en los repositorios.

Y para próximas actualizaciones, ya se está trabajando entre otras muchas en cosas como:

  • Linux kernel 5.16.3
  • KDE Plasma 5.24
  • Ruby 3.1 será el intérprete predeterminado de Ruby. Y Ruby 2.7 y 3.0 desaparecerán.
  • Python 3.6 será eliminado
  • Python 3.10 será el intérprete de Python predeterminado
  • GCC 12 ya se ha ido introduciendo, preparándose para cuando se publique definitivamente, lo que implicará la recompilación de TODOS los paquetes de la distro, como es normal y habitual.

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

Sardi, una gran colección de iconos personalizables linux

Hace tiempo que tengo esta entrada en el congelador y ya va siendo hora de que salga a la luz. Hoy tengo el gusto de presentaros Sardi, una gran colección de iconos coloridos linux que destaca por su variedad, flexibilidad y su gran número de iconos.

Sardi, una gran colección de iconos personalizables linux

Para el escritorio Plasma de la Comunidad KDE hay cientos de temas de todo tipo disponibles para los usuarios: iconos, cursores, emoticonos, etc, Y como me gusta cambiar de vez en cuando, en el blog le he dedicado muchos artículos a cada uno de los packs.

En esta ocasión, os presento una colección de iconos que, aunque aparece alguna variante en la Store de KDE, tienen su completa e increíble página web.

Se trata de Sardi, que no es ni más ni menos que una espectacular colección de iconos que destaca por ser flexible, completa, colorida pero sobria y, sobre todo, editable ya que todos los iconos están en formato svg, lo cual significa que podremos adaptarla a nuestras necesidades o gustos.

Sardi, una gran colección de iconos personalizables linux
Sardi básico

De hecho, en su página web hay una buena lista de tutoriales de como personalizar los iconos Sardi a nuestro gusto.

Para ello Sardi nos ofrece de 6 colecciones básicas de iconos como son:

  1. Sardi
  2. Sardi Flat
  3. Sardi Orb
  4. Sardi Flexible
  5. Sardi Ghost Flexible
  6. Sardi Mono

A partir de los cuales podemos adaptar, como es el caso de como pasar de Sardi Flat Colora a Sardi Ghost Flexible Spiderman.

Cómo instalar los packs de iconos Sardi

La instalación es sencilla:

  • Descarga y descomprime el pack Sardi que desees (si es necesario).
  • Crea una carpeta con el nombre de «iconos» en su carpeta de inicio ~/.local/share para KDE/PLASMA.
  • Mueve la carpta de iconos descomprimida en la carpeta ~/.local/share
  • Ahora ejecuta las Preferencias del Sistema, busca la sección de iconos y seleccionala desde ahí
Sardi, una gran colección de iconos personalizables linux
Sardi Flexile Froly

Más información: Sardi

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

Propuestas constitucionales para Chile en la era de la información

Cambios en el gobierno de Chile traen la oportunidad para que el pueblo de Chile haga oír sus propuestas en cuanto a derechos y libertades digitales

Activistas chilenos han presentado tres propuestas constitucionales relacionadas con el software libre y la libertad del usuario, pero para que estas propuestas se sometan al debate constitucional, deben conseguir un número de firmas hasta el 1 de febrero de 2022.

Así que desde este pequeño blog, quiero dar difusión y expandir esta gran propuesta para que si resides en Chile, las tomes en cuenta y las apoyes si crees (como yo) que deben ser aprobadas.

A continuació reproduzco un texto de Félix Freeman que se ha publicado en la web de la FSF, en el que explica qué propuestas están desarrollando.

Chile vive un momento histórico, por primera vez está redactando una constitución con constituyentes elegidos de forma democrática, paritaria y con participación de los pueblos originarios. 154 personas están encargadas de la redacción de la nueva carta fundamental del país, quienes han dispuesto un mecanismo de participación popular en base a la recolección de apoyos: 15.000 firmas son requeridas para elevar propuestas ciudadanas al debate constitucional de forma directa.

La oportunidad de conseguir un cambio sustantivo y a largo plazo en pro de los derechos digitales y la libertad del software así como otras obras intelectuales es única en nuestra historia, y podría no repetirse durante el transcurso de nuestra vida. Es por esto que 4 comunidades históricamente relacionadas al uso y la difusión del software libre en Chile nos reunimos a redactar 3 de estas propuestas, las cuales son:

  1. Acceso al conocimiento: Se promueve la igualdad de acceso al conocimiento garantizando el acceso universal a las tecnologías de la información y la liberación del conocimiento generado con los recursos de todos los chilenos. Iniciativa 46.114
  2. Derecho a la privacidad en internet: Se reconoce y garantiza el derecho a la privacidad – esencial para la protección de la autonomía y dignidad humana – como base para las libertades de consciencia, expresión y asociación. Iniciativa 43.014
  3. Soberanía tecnológica y digital: Se reconoce y defiende nuestra soberanía nacional en el ciberespacio. El desarrollo, autonomía y protección de nuestros territorios, cuerpos, datos e interacción virtual deben ser considerados parte estructural y estratégica de nuestra soberanía. Iniciativa 46.138

Estas propuestas constitucionales explican principios de la nación, derechos de los ciudadanos y deberes del Estado en torno a estos. La inclusión de los articulados permitirán y provocarán la creación de leyes que defiendan nuestras libertades y derechos de forma efectiva, por lo que no son el fin del camino en pro de las libertades intelectuales y los derechos digitales, sino solo el comienzo.

Puedes ver y apoyar nuestras propuestas ingresando a https://EraDeLaInformacion.cl ; Además encontrarás material de difusión e incluso software libre para hacer seguimiento estas. Puedes monitorear el progreso de nuestras, y otras, iniciativas en en https://votos.eradelainformacion.cl

No dejes pasar esta oportunidad histórica, si eres Chileno puedes apoyar las iniciativas número 46114, 46138 y 43014 en la plataforma https://iniciativas.chileconvencion.cl con tu «clave única» o «serie de carnet.» Si eres de cualquier nacionalidad puedes apoyarnos difundiendo la palabra por todo Internet.


Así que si resides en Chile espero que después de revisar estas propuestas las consideres adecuadas y firmes por ellas. Para que sea un ejemplo a otros países.

Enlaces de interés

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

#openSUSE Leap 15.4 incluirá KDE Plasma 5.24 LTS

La nueva versión de la serie 15 de openSUSE Leap incluirá una actualización del escritorio Plasma de KDE

Buenas noticias para los usuario y usuarias de openSUSE Leap. La próxima versión de openSUSE que actualmente se encuentra en fase alfa de desarrollo traerá actualizaciones en el escritorio Plasma de KDE.

openSUSE Leap 15.4 que se publicará para el mes de junio de 2022 incorporará una actualización en su escritorio Plasma.

Se incluirá la versión 5.24 de Plasma (que pronto llegará a Tumbleweed) que además se ha anunciado que será la próxima versión LTS o versión de soporte extendido.

Según ha informado el encargado del desarrollo de openSUSE Leap, se han cumplido las expectativas y todas las dependencias necesarias para incluir Plasma 5.24 dentro de Leap 15.4.

Tan pronto como SLE 15 SP4 incluya los cambios necesarios (por ejemplo, Qt 5.15), Plasma se puede integrar en Leap 15.4, en la próxima versión Beta o en alguna de las snapshots siguientes, antes de la publicación final.

Plasma 5.24 será la nueva versión LTS de la comunidad KDE de su escritorio. Eso implicará que tendrá actualizaciones, correcciones y mejoras durante mucho tiempo.

De esta manera Leap 15.4 se asegura de publicarse con una versión del entorno de escritorio que recibirá mejoras y cuidados por parte de la comunidad KDE.

Dado que openSUSE comparte los mismos binarios con SUSE, y esta última se publica con el entorno GNOME, también se puede adelantar que vendrá con GNOME 41.x.

Los desarrollos de otros entornos de escritorio también disponibles en openSUSE como Xfce, LXQt, Cinnamon, o Mate entre otros, dependerá del estado de desarrollo de sus respectivas versiones. Para ver qué versiones se podrán incluir en openSUSE Leap 15.4.

Gracias a los desarrolladores de KDE y openSUSE (Antonio Larrosa seguro que ha tenido mucha «culpa» en esto, entre otras personas) que hacen un «trabajo en la sombra» enorme para que nos beneficiemos toda la comunidad.

Enlaces de interés