Temporada 01: iniciándose en Vim

06. Vim: el editor a tu gusto

Publicado por

Vim nos permite ajustar muchos aspectos de su ambiente, desde opciones de apariencia y disposición, como los colores empleados para el resaltado de sintaxis o los menús, hasta opciones que alteran la forma en que Vim funciona, como la definición de teclas rápidas para desempeñar tareas
específicas.

Al usar este editor es importante notar una cosa: nadie ha decidido qué es lo mejor para ti. En lugar de ello, Vim te permite modificar una gran cantidad de características para que el editor se ajuste a tus necesidades. Existen muchas opciones que se pueden ajustar a través de órdenes en modo comando, en particular utilizando el comando :set. A mi me gusta considerar estas opciones como si fueran variables; hay opciones booleanas, numéricas y de tipo texto.

En cuanto a las opciones booleanas podemos utilizar el comando :set de la siguiente manera:

  • :set {opción} Activa {opción}.
  • :set no{opción} Desactiva {opción}.
  • :set {opción}? Muestra el valor actual de {opción}
Opción booleana: number
Opción booleana: number

Si {opción} toma valores numéricos:

  • :set {opción} y :set {opción}? Muestran el valor actual.
  • :set {opcion}={valor} Asigna {valor} a {opción}.
  • :set {opcion}+={valor} Suma {valor} al valor actual de {opción}.
  • :set {opcion}-={valor} Resta {valor} al valor actual de {opción}.
Opción numérica: tabstop
Opción numérica: tabstop

Si {opción} toma valores de tipo texto :set {opción}, :set {opción}? y :set {opcion}={valor} tienen el mismo efecto que sobre una opción numérica. En el caso del operador += la operación :set {opción}+={valor} agrega {valor} al contenido actual de {opción} separando cada valor nuevo con una coma, de tal forma que el resultado es una lista de cadenas de texto. Por último, el operador -= en :set {opción}-={valor} retira {valor} de la lista de valores actual de {opción} sin importar en qué posición de la lista esté. Si {valor} no está incluido en la lista, la operación no hace nada.

Opción tipo texto: spell
Opción tipo texto: spell

Hay más modos de utilizar el comando :set y más opciones que puedes ajustar, todo es cuestión de jugar un poco con el editor y leer la ayuda en línea que Vim te ofrece. Solo tienes que acceder al manual :help set.

Ajustes persistentes

Si has practicado ajustando las opciones del editor, habrás notado que estos ajustes no son persistentes. Por lo que si quieres utilizar tu configuración la próxima vez que entres al editor, tendrás que ejecutar todos esos comandos de nuevo. Afortunadamente, no es necesario que lo hagas tú directamente; Vim puede hacerlo por ti. Solo tienes que indicarle qué comandos quieres que ejecute, guardándolos en un lugar especial: un archivo que de ante mano conozca el editor, un archivo de configuración.

El archivo al que me refiero se llama vimrc y de hecho viene en dos «sabores», uno global en el que puedes indicar ajustes para todos los usuarios del sistema y otro personal, independiente para cada usuario.

Ubicación Uso
$VIM/[g]vimrc Configuración global
$HOME/.[g]vimrc Configuración personal

Hay que aclarar que $VIM no es una variable de ambiente del sistema, pero si está definida dentro del editor, y el directorio al que apunta puedes consultarlo utilizando el comando :echo.

:echo $VIM
/usr/share/vim

Aunque no pienso dedicarle mucho tiempo a la interfaz gráfica de Vim (gVim), en este punto debo mencionar que gVim tiene su propio archivo de configuración: gvimrc. Y su contenido se ejecuta solamente cuando utilizas el editor en modo gráfico.

Además de todas las opciones que se pueden ajustar mediante el comando :set puedes cambiar el esquema de colores (colorscheme {colores}) y decirle al editor si quieres que resalte la sintaxis o no (syntax on, syntax off).

En fin, literalmente, el límite es tu imaginación. Experimenta con varias opciones y guárdalas en tus archivos de configuración para poder obtener el ajuste adecuado para que tu experencia utilizando Vim sea tan agradable como productiva.

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *