... and you will be assimilated
-
Mi iPod Photo resucita por Halloween
Hace una semana, decidí sacar los iPods que tenía en el trastero y ver si todavía funcionaban, y la verdad es que me llevé una grata sorpresa, la mayoría de ellos funcionaba perfectamente, incluido mi primer dispositivo de Apple, un iPod Photo de 30GB que adquirí en la tienda del Soho de NYC junto a Cris, en nuestro primer viaje transoceánico… Y de eso hace más de 20 años. Una vez cargado, me puse a escuchar música y a recordar viejos tiempos, la nostalgia amigos me invadió y me vino a la cabeza un pensamiento que me rondaba desde hace tiempo: Tiempos pasados fueron mejores.
Es una frase que se suele decir mucho, y que a veces es cierta, pero otras veces no lo es tanto. En mi caso, creo que sí lo es, al menos en lo que respecta a la música. La música de los 80 y 90 tiene un encanto especial, y aunque hoy en día hay mucha música buena, creo que la de aquellos años tenía algo que la hacía única. Es curioso porque claro uno no se da cuenta de ello hasta que vuelve a escuchar una playlist de aquella época… Y fue poner la playlist “Mis preferidas” y quedar embobado y con cara de tonto.
No fue sencillo ya que no tengo cables (debí tirarlos hace tiempo). Pero en cambio sí conservo todavía un pequeño reproductor de música con conector doble, por una cara del Dock hay un lightning y además si le das la vuelta te encuentras un conector Dock de 30 pines. Es marca Logitech creo y de la época en que se transicionaba de la conexión Dock de 30 pines al lightning (fijaros si os hablo de tiempo). Y ahí que pude cargar mi iPod, y tras un largo rato de espera, el iPod cobró vida y pude escuchar mis canciones favoritas de aquellos años en que la gente atesoraba una biblioteca musical en iTunes. Fue como un viaje en el tiempo. Y luego continué con los demás iPods, dos Shuffle de segunda generación, uno de ellos tuve que restaurarlo pero acabó funcionando, uno de tercera generación que tiene la batería muy degradada y se puede decir que está más muerto que vivo, el iPod Photo de Cris (funciona perfecto y está bastante mejor cuidado que el mío) y los iPod Touch. Estos últimos necesitaban un Mac para funcionar, les salía el icono de conectar al difunto iTunes y no pude volverles a la vida, lo dejamos para otra ocasión.
Otro que está más muerto que vivo es el iPod Nano de tercera generación, que tiene la pantalla rota porque la batería de detrás está hinchada. A ver funcionar, pues sí funciona, pero también podemos contarlo entre los que no son usables. Así que una vez acabé de cacharrear con los iPods, los guardé de nuevo. Excepto mi iPod Photo, y un Shuffle. Decidí conservarlos y no guardarlos con el resto. Y no contento con esto me compré un cable Dock 30 pines a USB-C por Amazon (6€).
Y ¿para qué? Bueno pues para lo mismo que uso todavía mi Kindle 4. Sigue funcionando, sirve perfectamente para leer libros, y para qué tengo que comprarme un modelo más nuevo si ese funciona. Es un dispositivo que una vez lo has jailbreakeado y te has liberado de Amazon y sus anuncios asquerosos, sirve perfectamente para su cometido, un único cometido: leer libros. Pues lo mismo con mi iPod Photo, sirve para escuchar música. Únicamente. No me salta una notificación en medio de una canción. “Fulano te ha escrito un mensaje que el 90% de las veces no te interesa en este momento”. No tengo tentación de abrir el correo, el Teams, el WhatsApp (you name it). Nada de eso. Solo música. Y eso es lo que quiero, escuchar música sin distracciones. Y además, me gusta la sensación de tener un dispositivo dedicado a una sola cosa, como los viejos tiempos.
¿Cuánto me durará esto? Pues vaya usted a saber. Pero bueno, mientras dure, lo disfrutaré. Y si algún día me canso o el dispositivo dice que hasta aquí hemos llegado pues lo guardaré en el trastero y sacaré otro. Pero mientras tanto, seguiré disfrutando de mi música sin distracciones, como en los viejos tiempos.
Espera un momento, vale con el cable de Amazon (que por cierto tuve que devolver y comprar otro de 8€ porque el primero no funcionaba…) ganas que puedes cargar el iPod y sincronizarlo con el Mac (cosa que no he hecho, la verdad porque de momento con 19GB de música me sobra, pero todo se andará) y además puedes cargarlo digamos cómodamente en tu escritorio sin tener que usar los altavoces de Logitech que son un poco incómodos para el mero hecho de cargar el iPod, bien Salva, pero y el tema auriculares qué? No me digas que has vuelto al cable? Sí y no.
Lo primero que hice para ver que reproducía música fue usar un cable que Sony te da con los auriculares supraaurales. Es un cable jack doble macho y lo usé para conectar los auriculares al iPod. Ahí no me negaréis que calidad de sonido es buena, pero claro, no es lo mismo que la comodidad que tienes con unos auriculares bluetooth. Así que me puse a buscar el adaptador de jack a bluetooth de Ugreeen que compré hace tiempo en Amazon por 20€ que tiene muy buenas críticas, bastante mejor solución que el Airfly ese que es tan popular, y oye lo compré para conectar los airpods a un sistema de entretenimiento a bordo de los aviones que normalmente usan jack 3,5mm pero ahora con esto me venía al pelo. Así que lo conecté al conector jack del iPod y en un tris emparejé mis Airpods Pro 3. Y la verdad es que la calidad de sonido es buena y mis Airpods 3 funcionan bien (aunque solo reproducen música, nada más ni control de reproducción ni volumen ni nada). Así que ahora puedo escuchar mi música favorita sin cables y sin distracciones, como en los viejos tiempos. Y sin gastarme 400€ en un iPod restaurado de MODS, que es una empresa que se encarga de venderte iPods Classic restaurados y les pone un conector USB-C y un módulo bluetooth para que puedas emparejar tus Airpods. Pues oye, digamos que me he ahorrado un dinero.
Bueno, pues eso es todo por hoy. Espero que os haya gustado este pequeño viaje en el tiempo y que os animéis a rescatar vuestros viejos dispositivos de música. Quién sabe, igual os lleváis una grata sorpresa como yo. Y si no, al menos habréis pasado un buen rato recordando viejos tiempos y disfrutando de la música que tanto nos gusta. ¡Feliz Halloween!
-
El gran rácano
El reinado de Tim Cook acaba, ya es oficial, el próximo 1 de septiembre de 2026. Tim pasará a ser el presidente ejecutivo y John Ternus, actual vicepresidente senior de ingeniería de hardware, se convertirá en el nuevo CEO de Apple.
Tim Cook ha sido un gran rácano, un gran controlador de costes, un gran optimizador de recursos, un gran gestor de la cadena de suministro, un gran estratega en cuanto a precios, márgenes, logística, producción… ha llevado a Apple a ser la empresa más valiosa del mundo y ha tenido bastantes logros a título personal, y también bastantes fracasos. Un perfil tipo CFO, un tipo sin grandes dotes de comunicación, sin gran carisma, sin una visión muy clara de hacia dónde va la tecnología, sin grandes innovaciones disruptivas, se puede decir que los grandes logros han sido una evolución de lo que ya había, de lo que hizo su predecesor y mentor Steve Jobs.
Creo que ahora habrá millones de artículos alabando su figura, su legado, su impacto en la industria… y yo prefiero centrarme en el trabajo de su sucesor, John Ternus, que ha demostrado ser un gran ingeniero con una enorme visión de producto, y con un perfil más cercano a CTO que a CFO. John tiene muchos retos por delante, como cuidar de los aspectos financieros, logísticos, de producción y de costes que no son sencillos de gestionar y menos por alguien que no ha estado de cerca siguiédolos, temas que seguramente no le sean nada agradables y que tendrá que liderar desde su estilo personal, y estoy seguro que va a aprender muchísimo de Tim y tendrá un gran apoyo en su equipo, pero sobre todo, el mayor reto que tiene es el de recuperar la ilusión, la magia, la disrupción que durante tantos años no han sido protagonistas en Apple, y para mí esto es lo que define la compañía. A mí me sirve de bastante poco que Apple tenga un gran margen de beneficios si no tiene productos que me sorprendan, que me enamoren.
Y luego, para que me entendáis cuando hablo de racanería, están decisiones controvertidas de Tim como el tema de los puertos en los Mac, quitar el cargador de los iPhones, las idas y venidas con el Mac Pro, los equipos de diseño que han pasado de manos, la nula evolución de Siri, otros flops importantes como el cargador inalámbrico que no salió, los Homepod ahora sí ahora no y tiro porque me toca o los Airpod Max, poca innovación en el Apple TV de hace montón de años, muy poca evolución en el iPad, o recientemente la manifiesta falta de ritmo en temas de IA por parte de Apple que nadie entiende, todo eso tiene que quedar atrás y se tiene que ver que la empresa vuelve a ser referente en innovación, en los productos que lanza al mercado, en disrupciones en la tecnología, en mimo y detalle a la experiencia de usuario, y seguramente esto va ser lo que muestre la direncia entre el reinado de Tim, el rácano y el de John, el tecnólogo, el friki, el que vive orientado al producto, al usuario y a la innovación.
So far so good Tim, and let’s go John, your future is bright, take Apple to the next level.
Desde este humilde blog, cuando hace años que no escribo nada, tenía pensado que cuando hubiese un relevo generacional en Apple, escribiría un post sobre ello y aquí lo tenéis, espero no tardar hasta el siguiente CEO de Apple para escribir el siguiente.
-
iSH app, un Linux en tu iPad
Y de nuevo, siguiendo con la misma temática de mi último post, en el que escribí sobre utilidades del terminal, de la línea de comandos, hoy os descubro una app para iOS que he descubierto recientemente. Se llama iSH y permite ejecutar una distro Linux (sabor Alpine para más señas) dentro de una app de iOS. Llegados a este punto pueden pasar dos cosas, que te importe bastante poco el tema y digas ¿para qué quiero yo eso? o bien que digas un Linux en mi iPad ¡cómo mola! Para el segundo grupo, van los siguientes párrafos.
Tan sencillo como instalar la app y ejecutarla y ya estaréis en una consola linux de Alpine 3.14. Boom. Y ahora qué, bueno pues ahora todo porque tendréis acceso al repositorio de paquetes de Alpine y de ahí a instalar lo que necesitéis. Parece que la app vivía de hace tiempo entre las sombras y los jailbreaks pero recientemente Apple ha aprobado su distribución en la App Store, parece que hay alguna política que ha cambiado y a raíz de esto, se permite distribuir la app y funciona perfectamente.
Bien, llegados a este punto, qué tal va, qué opciones se permiten, para qué lo uso… bueno pues primero lo malo: olvidaros de ejecutar cualquier entorno gráfico o aplicaciones avanzadas, dicen por ahí que los dockers no van (no he probado) y además el performance no es nada bueno. Pensad que esta app está emulando una arquitectura x86 en un sandbox de una app de iOS, o sea bueno, tomadlo como que se abre un mundo de posibilidades y de control pero es como si tuviéseis una máquina virtual ahí sin mucho más y, por otro lado, no todo funciona pimpam en este entorno, está bastante limitado y hay que andar un poco a prueba y error.
Y ahora lo bueno. Muchas aplicaciones funcionan bastante bien en este entorno de consola linux: vim, mutt, ranger, msmtp, pyton, node, npm, nginx, openssh… y en cambio otras pues no tanto. En el caso de vim por ejemplo, hay cantidad de plugins que funcionan y otros que no van muy finos y hay que buscar alternativas. También se pueden instalar fuentes alternativas (y algunas nerdfonts) a través de apps como Fontcase o iFont y aquí también hay que ir un poco a prueba y error para que os funcionen. Otra cosa interesante, poder montar carpetas de vuestro iPad o de vuestro iCloud en este entorno Linux, y de esta forma tener acceso a ellos. Otra cosa bastante guay si usáis la consola y las herramientas que vimos en el post anterior, es conectaros a vuestro mac por ssh, solo tenéis que saber la IP local de vuestro mac y conectaros remotamente.
Posibilidades, frikear, cacharrear, cosas nuevas, sistemas alternativos, entornos de pruebas, programar en tu iPad, acceder a tus archivos en iCloud y un sistema en evolución. La verdad os digo, vale la pena probarlo, seguro que le encontráis un uso que se adapta a vuestras necesidades. Si os mola vim, ya podéis desinstalar iVim (si nunca lo tuvisteis) porque esto es una alternativa muchísimo mejor y completamente gratuita (al menos de momento).
Y sí, como ya habéis sospechado, estoy escribiendo este post, con neovim, ejecutándose remotamente en mi mac al que conecto vía ssh desde iSH en mi iPad, escribiendo en el sofá de casa, con mi Plank EZ y mi iPad Pro en el respaldo del apoyabrazos.
-
Redescubriendo la belleza del terminal
Siguiendo con la estela marcada por el último post, en el que escribí sobre Vim, hoy quería comentar un poco sobre cómo he redescubierto la belleza que esconde la línea de comandos, del terminal, de la consola. Es minimalismo extremo, consumo escaso de recursos (o vaya mucho más que cargar cualquier GUI claro) y uso intensivo del teclado, y además compatible ya para cualquier sistema operativo (linux, macos, windows o lo que queráis que pueda tener una aplicación de Terminal). Y ahí va un pequeño recopilatorio de las herramientas que uso y por qué las uso (y ojo con esto que no me considero ningún experto ni mucho menos, simplemente son herramientas que he ido descubriendo y que a mí me sirven).
iTerm 2
No cuesta un duro, no cuesta ningún esfuerzo instalar, no cuesta nada de configurar, tiene tantas opciones que es difícil hacer una lista. Permite pestañas si te van las pestañas, permite personalizar la interfaz, la fuente, los colores, hasta límites difícilmente explicables. Hay otras opciones (y muy buenas), Alacritty, Fish, Hyper… pero yo elegí iTerm por su facilidad de uso.
¿Para qué lo uso?
Pues básicamente como reemplazo de terminal del sistema. Lo tengo en el Dock, lo activo siempre, me sirve para bastantes cosas, como descubriréis a continuación si continuáis leyendo.
Enlace oficial
tmux
Agarraos que vienen curvas. Tmux es un multiplexador de terminal. ¿Cómo os habéis quedado? ¿Y eso qué puñetas es? Pues básicamente es añadir una dimensión más al terminal, en un sentido es similar a trabajar con pestañas en iTerm2 pero con muchísimo más control sobre qué ventanas están abiertas y con posibilidad de guardar sesiones y recuperarlas. Es como una navaja suiza del terminal, en la que simultáneamente, puedes tener corriendo multitud de herramientas en paralelo. Compartiendo o no la misma pantalla, en modo split o en ventanas (piénsalo como pestañas) separadas, y otra vez, con una capacidad de personalización muy bestia para que se adapte a tu flujo de trabajo.
¿Para qué lo uso?
Pues bueno tengo una sesión con varias herramientas que describo a continuación corriendo en paralelo, pero es que además me permite muy fácilmente abrir una nueva ventana de terminal y hacer lo que sea, y cuando ese lo que sea termina, volver a otra ventana abierta o cerrar la ventana actual o moverme entre las distintas ventanas de terminal solo con el teclado. Y tiene muchísimas más posibilidades pero bueno, con esto que os explico, que es un poco la superficie, solo con esto ya vale la pena instalarla (se puede instalar con brew) y experimentar un poco con ella. Y hay mogollón de recursos online y de posts que explican sus entresijos. Se adapta como un guante a distintas tareas y si tienes que usar el terminal constantemente es una gran herramienta.
Enlace a github
Neovim
Neovim que es una especie de fork de vim hecho en Lua, que añade bastantes opciones al ecosistema de plugins de Vim y que de alguna manera se está volviendo un IDE en toda regla con soporte a los LSP (language server protocol), que sirven para controlar sintaxis/coloreado, dar algunas advertencias (linter) y sobretodo para autocompletar código, de forma similar a como hace pues Visual Studio, o Pycharm o (ponga usted aquí el IDE que más le guste o que conozca).
Neovim es ultraligero, y permanece en una sesión de terminal, es retrocompatible con todo lo que funcione sobre vim y tiene numerosos nuevos plugins que por lo general (aunque en algunos casos es discutible) mejoran los que hay disponibles para vim. Por ejemplo, Telescope sin ir más lejos es una mejora, almenos para mí vaya y creo que objetivamente es mejor a FZF para búsquedas relativas o fuzzy dentro de un proyecto/directorio.
Además, cosa que yo no uso, pero lo comento por si alguien le pica el gusanillo, hay bastantes paquetes ya hechos que lo transforman en un IDE y preinstalan una serie de plugins ya enfocados a programar. Hay multitud de “distros” como Doom, NvChad, y otros si os va la droga dura pero no queréis ensuciaros las manos y cacharrear con mogollón de plugins y configuraciones. Lo bueno es que los instalas y a correr, lo malo es que eligen por ti, claro y si hay otro autocompletado que mola más u otro gestor de ficheros, al final tendrás que personalizar un poco el paquete a tu medida.
¿Para qué lo uso?
Uso Neovim principalmente como editor de textos en markdown y como editor de código y además como pequeño gestor de notas relacionadas con mi día a día. Tengo distintas notas en markdown que me sirven para ordenar mi trabajo, seguir reuniones, como agenda de distintas tareas y como pequeños snippets de código a los que tengo que recurrir a menudo. Ojo no es que tenga todas mis notas ahí, no lo uso como un repositorio de notas. Para eso uso Bear que me permite categorizar por tags y encontrar muy rápidamente lo que busco.
Enlace oficial
Neomutt / mutt
Mutt (y su reversión Neomutt más moderna pero basada en el original, un poco como vim y neovim) son clientes de correo del terminal con los que puedes sincronizar una cuenta IMAP o POP (¿hay alguien que use pop?) y bueno pues todo a través de consola, puedes moverte por carpetas, recibir correo, enviar correo a través de SMTP y usan el editor de textos que tengas configurado en tu terminal (o sea Neovim, claro). Con ellos puedes leer, responder, descargar adjuntos, hasta cierto nivel previsualizarlos, hacer forward, clasificar emails en carpetas, borrarlos, marcarlos como leídos y algunas cosas básicas más.
Van razonablemente bien, tienen posibilidades de configuración, permiten definir shortcuts y personalización con themes.
¿Para qué lo uso?
Tener un cliente de correo en el terminal, pues qué queréis que os diga, a mí me funciona bien pero no lo uso como herramienta principal. Sí lo tengo abierto en la segunda pestaña de mi sesión tmux y lo consulto principalmente para no salir del terminal e ir más rápido con algunos correos que sean o de respuesta muy sencilla o algo muy puntual. También lo uso para borrar algunos correos que llegan de forma rápida y clasificar algunos otros rápidamente. Pero, vaya, mi cliente de correo principal sigue siendo Mailmate, no obstante mutt se convierte como en una extensión de este en la consola, cosa que no está nada mal.
Enlace oficial
lf
lf es un gestor de archivos que vive en el terminal. Nace de ranger, otro clásico (bastado en python) y muy similar. lf es como una reversión también del programa clásico y más moderno y ligero. Tiene los mismo atajos, bebe de la filosofía vim para los atajos más comunes pero permite configurarlo hasta la saciedad. Y también ofrece soporte para varias herramientas añadidas con las que podrás visualizar detalles de los archivos o tener una previsualización de ellos directamente en el terminal, cosa que nunca está de más. Ahora sí, eso requiere ponerle un poco de cariño a la configuración de la herramienta, no obstante, de saque oye pues ya tienes bastante terreno cubierto y quizás no necesites más.
Claro como todo buen gestor de archivos, permite todas las operaciones básicas, como copiar, cortar, pegar, navegar rápidamente, crear carpetas, borrarlas, renombrar archivos… ofrece también selección múltiple y puede lanzar lo que el sistema tenga predefinido para abrir ese archivo. Y, evidentemente, permite usar tu editor de texto favorito dentro del mismo terminal (otra vez Neovim) para abrir y editar los archivos de tipo texto o código.
¿Para qué lo uso?
Pues lo tengo abierto en una sesión de tmux y lo uso para operar con ficheros rápidamente, gestionar rápidamente lo que tengo en la carpeta de descargas, mover archivos a documentos o a otras localizaciones en mi sistema. También para previsualizar brevemente a veces según qué archivos o para lanzar preview de algún pdf. En fin, no es la panacea, no os digo que reemplaza por completo al uso que hago de Finder, pero si estás dentro del terminal, oye te da una libertad y navegación muy rápidas a través de teclado.
Enlace al proyecto en github
htop
htop es una herramienta de monitorización de recursos del sistema. Como el monitor de actividad de Mac OS? Pues eso pero en el terminal. Y muy currado. Y con muchísimas posibilidades de filtro y de visualización de los procesos que corren en tu máquina. Puedes, como en la utilidad de mac, ordenar por un determinado criterio, ver el proceso que está consumiendo, ver en modo árbol o no, permite ver la ruta donde está ubicado el proceso, y puedes matarlo, pararlo, lo que quieras.
¿Para qué lo uso?
Pues he dejado de usar la herramienta de Mac en este caso, casi siempre voy a través de htop, otra herramienta que tengo abierta siempre y que me resulta muy útil en el día a día.
Enlace oficial
openfortivpn
Seguro que trabajando en casa, usáis un cliente de VPN. Hay muchos y para gustos, colores. A mí me ha tocado usar Fortigate y las aplicaciones que tienen para mac dan bastante pena, de hecho, yo la he apodado, y siempre cariñosamente, la fortigaita. Entonces pues bueno, hay unos tíos que se han preocupado de buscar un cliente CLI para las VPN Fortinet y ofrecerlo en código abierto. Pues ahí que vamos. Configurarlo es un juego de niños y te da pues eso control sobre la conexión y no tener ahí aplicaciones con GUI ensuciando tu menú o tu Dock, te conectas y listo.
¿Para qué lo uso?
Cuando tengo que conectarme a las herramientas o entornos de desarrollo que requieren de conexión VPN. He dejado de usar la herramienta del fabricante y actualmente accedo mediante terminal. Requiere permisos de admin, requiere contraseña en prompt, pero bueno las pones y listo.
Enlace al proyecto en github
Y hasta aquí las herramientas que más uso en el terminal, y cómo he redescubierto la belleza de usar la consola del sistema y las posibilidades que ahí se esconden. Otro día, podemos hacer un poco una revisión de los temas y colores que uso en el terminal, porque no, no se todo en blanco y negro… hay un mundo de color ahí también y grandes posibilidades de personalización en todas estas herramientas, ya sea a través del soporte que ellas mismas ofrecen (caso Neovim o Neomutt por ejemplo) o bien con la integración en la consola y el control que ejerce sobre ella iTerm2.
Si usáis el terminal en vuestro día a día, seguro que ya conocíais la mayoría de estas herramientas (y si usáis alguna más compartidla!) y hay muchas más que no he destacado (bat, neofetch, ranger, lynx, pandoc, exa, …), pero si no, échale un vistazo a lo que te estás perdiendo, igual no sirven para tu día a día, o igual sí, quién sabe, no se pierde nada por probarlo.
-
Vim is awesome, dude
Quería hablaros hoy de Vim y cómo se ha convertido en una de las aplicaciones que más uso para multitud de tareas. Alguien que lo haya probado y haya sucumbido ante su complejidad y su curva de aprendizaje endiabladamente empinada, dejará de leer en este momento (considerando, claro, que este blog todavía lo lea alguien a parte de mí). Y vaya yo le diría que se equivoca en no seguir leyendo y se equivoca en no darle una segunda oportunidad a Vim, porque yo era uno de los suyos, de los que pensaba que alguien que usase Vim sólo podía ser alguien muy técnico o muy friki y que no merecía la pena darle una segunda oportunidad.
Y os digo sin miedo y con rotundidad del que ha probado y ha visto mundo que estamos delante de probablemente la mejor herramienta jamás creada para editar textos y trozos de código, y además por múltiples razones. Acompañadme en este viaje a los confines del frikismo editorial. Por cierto ¡qué post tan meta! (efectivamente estoy usando Vim para escribirlo, claro).
Primero un poco del por qué digo esto de que es de lo mejor para editar textos. A ver, lo primero que te encuentras es una pared: para empezar siquiera a usarlo, debes invertir bastante tiempo en leer cómo usarlo. Y eso hace que uno se desespere y además piense: no sé qué hago aquí si con Atom o con VSCode o con Sublime o con cualquier otro editor, es abrirlo y todo se hace según los cánones establecidos. Y voy a pararme en esta frase. Que algo funcione distinto, tampoco tiene que ser malo ¿verdad? Y si no oye no estaría escribiendo en Colemak por ejemplo y contento de haber hecho esa transición. Bien, pues lo primero es como con la transición de layout de Qwerty a Colemak, ¿te sientes bien en Qwerty? Oye fenomenal, ¿estás dispuesto a probar otra cosa para ver si te funciona mejor? Pues ánimo y al lío, y si descubres que no es para ti, y que estás supercómodo en Qwerty o usando tu editor de textos de toda la vida como Notepad++ o el que sea que se adapte mejor a tu workflow, yo no te voy a decir que cambies, pero sí te voy a decir que en mi caso el cambio ha valido muchísimo la pena.
En mi caso yo probé Vim hace tiempo, muuucho tiempo, en mi época de consultor y bueno, más por obligación, porque tenía que editar algo en una sesión en unix, y luego vamos, descartándolo casi de inmediato por su complejidad. En otras ocasiones lo había usado por consola para editar algo rápidamente desde la línea de comandos (en mis épocas algunos servidores remotos en AIX y otros derivados de unix me encontré). En Mac, hace algún tiempo me instalé MacVim (que es una especie de GUI para el vim que tengas instalado) y decidí darle una oportunidad. También lo hice porque tiene una comunidad de seguidores muy grande, y que todos dicen que va tan bien. Y además, como con el cliente de correo u otras herramientas de uso diario, uno siempre va en busca del santo grial, una herramienta de trabajo que se le ajuste como un guante, le consuma pocos recursos y le permita adaptarla a la perfección con su flujo de trabajo.
Y tras probar Vim yo siempre volví a Atom, en su día volví a Notepad++ cuando usaba Windows (han pasado años), volví incluso a alternativas mucho más sencillas como TextEdit en Mac o al Bloc de Notas en Windows para editar archivos de texto sencillos. Pensé esto de Vim, no es para mí. Y volví a esas aplicaciones porque ahí hay seguridad, opciones limitadas, atajos comunes del sistema. Ahí hay calma, sosiego, incluso por qué no, modernidad, UIs vistosas, y como decía se gobiernan por unos cánones. Entonces, ¿por qué voy a usar algo que es complicadísimo si con lo que tengo ya me vale? Matarse a aprender algo así como Vim habiendo alternativas muy buenas para editar textos y picar código en un momento puntual es bastante absurdo, ¿o no?.
Pues resulta que según cómo lo mires no. Lo primero, definamos qué le pedimos a un editor de textos y luego también pensemos si hay herramientas específicas para ello, y estoy pensando en los IDE (herramientas como Xcode que están pensadas para el desarrollo). ¿Cumplen esas herramientas todos nuestros objetivos? Si la respuesta es sí, no hace falta cambiar o invertir en Vim, a no ser que quieras ver si Vim satisface aquello que te falta en esas herramientas. Si ya estamos satisfechos con las posibilidades que nos ofrecen, plantearse un cambio, y más un cambio a una herramienta mucho más compleja y que cuesta aprender yo creo que no vale la pena. Es así, si uno ya está contento con Sublime, Atom, VSCode, o el editor de Python que se tercie y los conoce al dedillo, o bien tiene por costumbre abrirse un IDE como Visual Studio o como los que tiene Jetbrains para multitud de lenguajes, pues oye yo creo y quizás pueda equivocarme, que Vim poco le va a aportar a su día a día porque abandonar esas herramientas para irse a la consola y a un editor como Vim, pienso que es una aventura, pero no sé muy bien qué gana con el cambio (¿quizás rendimiento si esos IDEs consumen muchos recursos o son muy costosos de configurar?), interpreto que más bien poco. Yo os puedo hablar de mi experiencia con editores de texto y de mi caso de uso particular, que no tiene porque ser el de la mayoría, y esto va de contar las cosas en primera persona (por si después de tanto tiempo alguien se ha perdido).
Os cuento mi caso
En primer lugar, yo uso editores de texto para dos cosas principalmente:
-
Editar textos y notas, principalmente usando Markdown (y aquí incluyo escribir posts como este para mi blog que migré a jekyll hace algún tiempo). También os digo que de un tiempo a esta parte lo uso para tomar notas de algunas reuniones y de cosas que tengo que diseñar o desarrollar luego y como guía de notas o como “acta” de una reunión pues anotarlo en markdown en un archivo y tenerlos agrupaditos, funciona bastante bien.
-
Editar pequeños trozos de código / proyectos sencillos (normalmente en temas web y bbdd: HTML, JS, CSS, SQL). En mi trabajo, desde hace muchos años ya no desarrollo, es decir, mi actividad principal no va de desarrollar, pero siempre he tenido ¿buena? mano para el código, y bueno a veces para probar cositas sencillas, instalarse el código de producción en tu máquina y tener un entorno local, bueno, siempre intento tirar por ahí para probar cosas nuevas y experimentar.
Estaremos de acuerdo que para estos casos, cualquier alternativa es buena. Incluso hay herramientas como MacDown o IAWriter que te permiten tener previsualización del Markdown, y hay otras como pueden ser Atom o VSCode que llevan ya linters/coloreado de syntaxis de código, están orientadas al trabajo por proyectos, se integran a la perfección con git, y en fin, qué os voy a contar, llevan ya de saque múltiples opciones que satisfacen esos dos casos de uso con creces y con muy poco esfuerzo y un par de plugins, uno está en su salsa y tiene muy pocos quebraderos de cabeza. Atom (un editor que salió hace algún tiempo de la plataforma github) es un muy buen ejemplo de editor superversátil, y tiene tantos plugins y themes, que no te los acabas. VSCode es otra opción increíblemente buena para el punto 2 y que tiene muchos seguidores. Entonces, vayamos al quid de la cuestión: ¿por qué dejarlas de lado y abrazar Vim? Pues porque Vim de entrada y objetivamente, permite un control muchísimo mayor sobre lo que estás escribiendo, una vez entras en su rollo, es terriblemente eficiente. De hecho, hay multitud de plugins para Atom y VSCode que intentan emular vim, o emular sus modos de funcionamiento. ¿Sorprendidos? pues ahí está el meollo, ahí está el quid de la cuestión. Entender cómo funciona o porqué tengo que tocar i para escribir texto o pulsar Esc y :wq para guardar y salir.
Primero hay que romper el ¿esto cómo funciona? y especialmente ¿por qué funciona así? Y una vez lo descubres, te das cuenta de que Vim es increíblemente preciso y el editor de textos más versátil que puedas imaginar. Con una cantidad de plugins y de configuración que es enorme, tan grande y basta que es difícil de explicar. Puedes llegar a configurarlo de la forma que quieras, desde lo más sencillo y simple a lo más complejo. Y los atajos de teclado que usa son aberrantemente funcionales cuando descubres cómo usarlos en tu beneficio. Vim tiene una gramática, una manera de usarlo que te permite usarlo a tu antojo de mil maneras distintas, unas más eficientes que otras, todo hay que decirlo y no se aprende de la noche a la mañana.
Cómo se adapta Vim a mi caso de uso
Bueno pues para lo primero, vim cuenta de saque con coloreados de syntaxis que soportan markdown y muchos más lenguajes. Pero lo bueno no es eso, lo bueno de vim es que no funciona igual que un editor de texto tradicional pero MacVim le acerca a la experiencia de uso de un editor tradicional añadiéndole una capa de atajos y uso común. Por ejemplo, puedes seleccionar texto con el ratón (sacrilegio para algunos vimers), puedes guardar un arhcivo, un texto con Cmd+S, o hacer Cmd+T par ir a un nuevo tab por ejemplo. De alguna forma, acercan Vim a lo que uno está más acostumbrado. Sin embargo, Cuando dominas un poco más te das cuenta de que bueno teniendo buffers igual los tabs, pues oye, tampoco son tan importantes o que para guardar un texto puede irte mejor otro atajo.
Y esto de los atajos de teclado es importante. Por ejemplo la selección de texto o el poder trabajar con dos archivos al mismo tiempo se puede conseguir muy fácilmente en vim sin despegar tus manos del teclado, sin usar el ratón para nada.
Pongo un ejemplo de lo más sencillo. Quiero ir 3 párrafos más arriba de donde estoy escribiendo. En un editor cualquiera, con el ratón puedo ir hasta ahí clicar y mover el cursor hasta esa posición, o puedo también moverme pulsando Alt+flechas (3 veces) o bien con vim puedo pulsar { tres veces o con 3{ estando en modo normal. Ya pero debes recodar ese atajo. Y no lo negaré, eso es complicao, se aprende con el tiempo. Por eso MacVim en ocasiones funciona de maravilla cuando no recuerdas qué debes de pulsar o mejor dicho, cual es el atajo óptimo que te lleva a conseguir tu resultado esperado, pero puedes seguir con tu vida y ya lo aprenderás porque es cierto que cuando entras en esa espiral, es difícil parar. En vim tienes multitud de opciones para conseguir un determinado objetivo, algunas más buenas que otras.
Y ese es un ejemplo muy tonto, pero en vim tienes de todo y lo mejor de todo: lo puedes personalizar a tu gusto. Hay un archivo de configuración que es la pera y unos plugins que ayudarán a que usar vim se adapte mucho más a lo que estás buscando. Hago un repaso por cosas que tiene de saqué: marcado de sintaxis, corrección ortográfica, trabajar con múltiples archivos, buscador de texto, buscador de archivos, es que Vim tiene todo eso y más, consume poquísimos recursos y es brillantemente estético en la aplicación de temas visuales y esquemas de color.
Cómo lo pruebo?
Esto es lo más sencillo porque vim existe en múltiples versiones y para todas las plataformas. Yo, en macos, me instalé VimBox que es un conjunto de herramientas y plugins y que ya tocan de saque el archivo de configuración y luego a partir de ahí lo adapté para mí. Hay otras alternativas ya más completas como Spacevim que cuenta con multitud de seguidores. Y si estás en Mac (o en Windows estoy seguro de que hay alternativas similares) yo me instalé MacVim. Y a partir de ahí, ver tutoriales, seguir cuentas en twitter para aprender atajos como Learn Vim y adaptarlo a vuestro gusto.
Hay multitud de gente que publica su configuración en github, sus “dotfiles” y yo he ido picando un poco de aquí y un poco de allí. Yo he ido tuneando un poco ese vim y luego con las lecciones aprendidas he adaptado también neovim que es como una evolución de vim y que quizás dé para otro post. Mi configuración ha evolucionado de MacVim (básico sin nada, con vim a pelo), luego instalé VimBox y experimenté un poco con los plugins principales que lleva (desinstalé mogollón que no me servían de nada) y las configuraciones más básicas y más avanzadas, y este vim ya adaptado lo mantengo y todavía lo uso. Y además tengo neovim, con el que estoy escribiendo esto y que lo he adaptado totalmente con las lecciones aprendidas de vim. Uso dracula como theme.
Resumen TL;DR
Vim es una herramienta tremenda para editar textos y tocar código. Ocupa poquísimos recursos y sus posibilidades de configuración son infinitas. No vale para todo el mundo, y tiene una curva de aprendizaje muy empinada. Hay mucha documentación y ayudas para que entrar en su uso no sea un calvario. Creo que merece mucho la pena darle una oportunidad.
-
subscribe via RSS