Vim: Cómo cambiar entre esquemas de colores!

Publicado por Diego Córdoba en

Hoy vamos a trabajar con los esquemas de colores de Vim para adaptar el coloreado de sintaxis a nuestro gusto en cada lenguaje de programación.


vim

Podemos fácilmente cambiar entre los diferentes esquemas de colores de Vim para encontrar el que mas nos guste en el coloreo de sintaxis!

Primero que nada, sepamos que los esquemas de color de _Vim_ nos permiten resaltar la sintaxis de diferentes maneras en nuestros códigos y archivos… y podemos elegir el que nosotros quisiéramos.

Listando esquemas de colores en Vim

Para listar los esquemas de colores instalados en vim, podemos entrar al editor, y escribir :colorscheme <TAB> es decir, el comando colorscheme, un espacio, y con la tecla tabulador vamos a ir viendo uno por uno todos los colores instalados.

Otra forma, para verlos a todos en lista, podemos escribir, nuevamente :colorscheme y luego presionar la combinación Ctrl+d.

Descargando esquemas de colores

Sepamos también que las configuraciones personales de vim para un usuario determinado se encuentran en el archivo .vimrc de su directorio home, y en los archivos y directorios contenidos en .vim/ también en su home.

Lo primero que haremos será descargarnos un pack de 100 esquemas de colores desde el sitio oficial de Vim accediendo a este enlace:

http://www.vim.org/scripts/script.php?script_id=625

Luego, vamos a mover dicho archivo a nuestro directorio ~/.vim/ de configuración personal del editor, y lo vamos a descomprimir ahí dentro:

diego@sol:~$ mv Downloads/ColorSamplerPack.zip .vim/
diego@sol:~$ cd .vim/
diego@sol:~/.vim$ ls
ColorSamplerPack.zip
diego@sol:~/.vim$ unzip ColorSamplerPack.zip 
Archive:  ColorSamplerPack.zip
   creating: colors/
  inflating: colors/adaryn.vim       
  inflating: colors/adrian.vim       
  inflating: colors/aiseered.vim     
  inflating: colors/anokha.vim       
  inflating: colors/anotherdark.vim  
  [...]
diego@sol:~/.vim$ ls
colors  ColorSamplerPack.zip  plugin

Veremos dos directorios dentro de nuestro .vim/, uno con plugins, y otro con los esquemas de colores.
En el directorio colors/ veremos muchos archivos .vim que son esquemas de colores diferentes.

Un script para automatizar los cambios de esquema

Vamos ahora a crear un archivo de plugin nuevo al que vamos a llamar setcolors.vim, dentro de ~/.vim/plugin/. El contenido del archivo puede descargarse desde nuestro repositorio git:

https://gitlab.com/d1cor/juncotic/-/blob/master/vim_config/.vim/plugin/setcolors.vim

Usando el plugin nuevo

Con el archivo cargado ahora podremos utilizar cualquiera de las funciones escritas, y sus atajos de teclado.
Por ejemplo, si dentro del editor queremos ver la lista de esquemas de colores podemos simplemente ejecutar:

:SetColors

Para cargar todos los esquemas en nuestro editor en esta sesión, podremos correr:

:SetColors all

Y con las siguientes combinaciones de teclas podremos ir probando los esquemas de colores:

  • F8 – Siguiente esquema de color
  • Shift+F8 – Esquema de color anterior
  • Alt+F8 – Un esquema de color aleatorio de la lista

También podremos seleccionar una lista personal de esquemas de color entre la que ciclar, de la siguiente forma, por ejemplo:

:SetColors blue slate ron 
:SetColors

O podremos, en el caso de querer siempre la misma lista de esquemas al iniciar nuestro editor, cambiar en el script propuesto, en la línea 20 aproximadamente, la siguiente línea:

let s:mycolors = ['slate', 'torte', 'darkblue', 'delek', 'murphy', 'elflord', 'pablo', 'koehler']

Por los esquemas que nosotros quisiéramos, y aplicarlos de esta forma:

:SetColors my

Un truco adicional 😀

Si quisiéramos, dentro del editor, y por el único hecho de impresionar a quien nos ve trabajando en Vim, cambiar cada X cantidad de segundos nuestro esquema de color, podríamos correr el siguiente comando:

while 1|sleep 5|call NextColor(1)|endwhile

5 es la cantidad de segundos de espera 😛

Espero les sea útil!

Update 20170202:

Gracias a nuestro amigo Porfilio Andres, de Facebook, por el aporte! Les comparto un link con una serie de schemcolors «para todos los gustos» como dice el 🙂

vimcolors.com

Que lo disfruten!


Fuente: http://vim.wikia.com/wiki/Switch_color_schemes


Diego Córdoba

- Ingeniero en Informática - Mg. Teleinformática - Tesis pendiente - Docente universitario - Investigador