.config

por adastra

El otro día les contaba que Google Drive es una puta mierda, y aprovechaba para dar un repaso a los servicios que conocía de sincronización de archivos en la nube. Gracias a ustedes, mis queridos correligionarios, me enteré de la existencia de Ubuntu One, y ese se ha convertido en mi servicio de referencia, conteniendo mi biblioteca de Calibre.

Pero ese no es el único uso que le doy a este tipo de servicios. Hace tiempo que vengo usando Dropbox para mantener mis configuraciones entre equipos. Me explico.

La imagen que abre esta historia está formada por tres capturas de pantalla en las que se ve el editor de texto Vim. Las capturas corresponden a los tres sistemas operativos en los que uso este editor: Windows XP, Linux Mint y Mac OS X. El mismo editor en tres sistemas operativos diferentes, pero en todos ellos uso la misma configuración. Los tres tienen los mismos colores, los mismos sistemas de búsqueda, etc. Para que se hagan una idea, este es el fichero de configuración que uso.

La idea es simple. Si tengo que hacer un cambio en la configuración de Vim, lo hago en un solo equipo, y los demás ordenadores se enterarán automágicamente sin necesidad de estar copiando el fichero en todas partes (de hecho, el mismo fichero de configuración se emplea en cuatro ordenadores diferentes). Para ello uso dos cosas: un servicio de sincronización (Dropbpox, en este caso) y enlaces simbólicos (ahora llegamos a eso).

Para acometer este asunto, hay dos partes. Doy por supuesto que el mismo servicio de sincronización está instalado en todos los ordenadores en los que está el Vim (en este caso). Esto es lo que habría que hacer (las instrucciones son extrapolables a cualquier archivo de configuración que se les ocurra para cualquier programa, siempre que sepan dónde se pone exactamente el archivo).

Ponemos el archivo de configuración en la nube

Lo primero que tenemos que hacer es poner el archivo de configuración en la nube. Vamos a suponer que empleamos Dropbox, y que dentro de la carpeta de Dropbox hay una carpeta llamada .config que será la que contenga nuestras configuraciones entre distintos equipos.

En este caso, vamos a poner el archivo de configuración, llamado .gvimrc, dentro de la carpeta .config/vim. Dependiendo de si estamos haciendo esto en Windows, Linux o Mac OS X, el archivo quedará en un sitio u otro:

  • Linux: $HOME/Dropbox/.config/vim/.gvimrc
  • Windows: %USERPROFILE%Dropbox.configvim.gvimrc
  • Mac OS X: $HOME/Dropbox/.config/vim/.gvimrc

Lo hagamos donde lo hagamos, al copiarlo nos aseguramos de que esté disponible automáticamente en cualquier otro equipo en que tengamos Dropbox instalado.

Hacemos que el Vim use el archivo (Linux/Mac OS X way)

Vale, ya tenemos el archivo en Dropbox, pero ahora tenemos que decirle al Vim que use ese archivo de configuración. Tanto en Linux como en Mac OS X, el archivo de configuración del Vim se pone automáticamente en la carpeta $HOME. Es decir, el archivo de configuración estará en $HOME/.gvimrc. Es ahí donde Vim espera encontrarlo.

Lo que tenemos que hacer es un enlace simbólico, o lo que es lo mismo, una forma de decirle al sistema «eh, este archivo que esperas encontrarte aquí está en realidad allá».

Para ello, solo tenemos que cargarnos el fichero de configuración original y decirle al sistema dónde está el nuevo, enlazándolo. Abrimos una consola y ponemos:

$ cd ~
$ mv .gvimrc .gvimrc.bak
$ ln -s ~/Dropbox/.config/vim/.gvimrc .gvimrc

Et voila! Cuando pongamos en marcha el Vim en Linux o en Mac OS X, usará automáticamente la configuración que hayamos puesto en Dropbox. No nos tenemos que preocupar de nada más.

Hacemos que el Vim use el archivo (Windows way)

Bajo Windows las cosas no son tan sencillas, porque en Windows XP no hay soporte nativo para enlaces simbólicos. Creo que Windows 7 sí lo trae, pero yo utilizo la misma herramienta para poder crear enlaces simbólicos en ambas versiones del sistema operativo.

Como en Linux/Mac OS X, tenemos el archivo de configuración en Dropbox. Ahora lo que nos queda es eliminar el archivo de configuración local, creando un enlace al archivo de configuración en Dropbox.

Para ello nos tenemos que instalar un añadido del sistema llamado Link Shell Extension. Peeeeeeero, si usan Windows XP, primero tienen que instalar un driver que permite la creación de enlaces simbólicos. Con Windows Vista o Windows 7 no hace falta (de Windows 8 no tengo ni puta idea).

Después de instalar el driver (repito, sólo bajo Windows XP), se bajan la versión de Link Shell Extension que corresponda.

Con esto ya podemos crear enlaces simbólicos, y lo vamos a hacer con nuestro famoso archivo de configuración. Abrimos un explorador de Windows y navegamos hasta la ruta %USERPROFILE%Dropbox.configvim, y pinchamos con el botón secundario del ratón sobre el fichero .gvimrc, eligiendo la opción Pick Link Source.

De esta forma, estamos diciendo «eh, este es mi fichero de origen, el que quiero enlazar». Ahora tenemos que navegar hasta la ruta en la que está el archivo de configuración del Vim. Normalmente estará en %PROGRAMFILES%Vim_gvimrc. Navegamos hasta dicha carpeta, eliminamos el fichero y, con el botón secundario del ratón elegimos la opción Drop Hardlink.

Lo siguiente que veremos será el archivo .gvimrc en la ruta %PROGRAMFILES%Vim, con una flecha roja indicando que el archivo es en realidad un enlace a otro archivo. Y ya está. A partir de ese momento, el Vim utilizará la configuración que tenemos almacenada en la nube.

Sí, ya lo sé, bajo Windows apesta. Yo no tengo la culpa.

PS Voy a intentar aprovecharme descaradamente de mis lectores. Si se dan de alta en Ubuntu One siguiendo este enlace, nos dan a ambos 500 MB de almacenamiento extra.

Anuncios