En este artículo veremos cómo instalar complementos o plugins a nuestro editor Vim para darle más funcionalidades y adaptarlo a nuestras necesidades

Vim es un editor de texto con muchas opciones ya de manera predeterminada, pero quizás debido a tareas que realizamos, o a nuestra forma de trabajar, a veces necesitamos que haga alguna tarea extra que no viene “de serie”.

Para solucionar esas carencias o para sacarle todo el potencial a Vim están los complementos o “plugins” (de ahora en adelante utilizaré la palabra plugin) una forma de añadir funcionalidades extra al editor Vim y hacer que este se adapte a nuestras necesidades o para facilitarnos ciertas tareas.

Hay plugins para Vim para diferentes tareas, veamos en este tutorial cómo instalarlos de manera manual o mediante un gestor de plugins.

Este artículo es una traducción de un artículo en inglés escrito por Seth Kenlon que puedes leer en la web opensource.com y publicado bajo licencia CC-by-sa. Me pareció interesante y quise publicarlo en mi web para que formara parte de la serie de tutoriales sobre Vim que voy publicando y que puedes encontrar en este enlace:

Ya sea que los instales de forma manual o mediante un gestor de paquetes, los plugins para Vim te pueden ayudar a crear el Vim perfecto que mejor se adapte a tu forma de trabajo.

Aunque Vim es rápido y eficiente, con las opciones predeterminadas, no es más que un mero editor de texto. Al menos, eso es lo que sería sin ningún complemento o “plugins”, que son creados para Vim y añaden funcionalidades extra para hacer que sea mucho más que una ventana en la que escribir texto.

Con la mezcla adecuada de plugins, puedes tener el control de tu vida y forjarte tu propia y única experiencia con Vim. Puedes personalizar tu tema y puedes añadir resaltado de sintáxis, depurado de código, gestión de versiones y mucho más.

Cómo instalar complementos en Vim

Vim es extensible gracias a los plugins, pero durante mucho tiempo, no había un método oficial para instalarlos. A partir de la serie 8.x de Vim, sin embargo, existe una estructura sobre cómo los plugins tienen que ser y cómo cargarlos.

Puede que encuentres instrucciones antiguas en algún proyecto en la red o en los archivos README, pero mientras que estés ejecutando una versión de Vim 8 o superior, deberías instalarlos de acuerdo al método oficial de instalación de plugins o con un gestor de paquetes de Vim.

Puedes utilizar un gestor de paquetes de Vim independientemente de qué versión ejecutes (incluyendo versiones más antiguas que la 8.x), lo que hace el proceso de instalación más sencillo que mantener las actualizaciones por ti mismo.

Es bueno conocer tanto el método manual como automatizado, así que sigue leyendo para aprender ambos.

Instalación de plugins de manera manual (Vim 8 y superior)

Un paquete de Vim es un directorio que contiene uno o más plugins. De manera predeterminada, tienes los ajustes de Vim dentro de ~/.vim, así que ahí es donde Vim busca los plugins cuando lo lanzas. (Los siguientes ejemplos utilizan el nombre genérico externo para indicar que los plugins son obtenidos de una fuente que no eres tu mismo.)

Cuando arrancas Vim, lo que hace primero es procesar tu archivo .vimrc y después busca todas las carpetas en ~/.vim para encontrar plugins que estén contenidos en pack/<nombre_paquete>/start.

De manera predeterminada, tu directorio ~/.vim (si incluso ya tienes uno) no tiene esa estructura de archivo, así que establécela mediante:

$ mkdir -p ~/.vim/pack/externo/start

Ahora puedes poner los plugins de Vim en ~/.vim/pack/externo/start, y estos se cargarán automáticamente cuando lances Vim.

Por ejemplo, trata de instalar NERDTree, un gestor de archivos basado en texto para Vim. Primero utiliza Git para clonar una instantánea del código del repositorio de NERDTree:

$ git clone --depth 1 https://github.com/preservim/nerdtree.git ~/.vim/pack/externo/start/nerdtree

Ahora ejecuta Vim y escribe este comando:

:NERDTree

Esto abrirá una vista de los archivos en la parte izquierda de tu ventana de Vim.

Si no quieres que un plugin se cargue automáticamente cada vez que lances Vim, puedes crear un directorio opt dentro del directorio ~/.vim/pack/externo :

$ mkdir ~/.vim/pack/externo/opt

Cualquier plugin instalado dentro de la carpeta opt estará disponible para Vim pero no se cargará en memoria hasta que lo añadas a una sesión mediante el comando packadd. Por ejemplo, para un plugin de ejemplo llamado foo se haría así:

:packadd foo

Oficialmente, Vim recomienda que cada proyecto de plugin tenga su propio directorio dentro de ~/.vim/pack. Por ejemplo, si estuvieras instalando el complemento NERDTree y el del ejemplo llamado foo, deberías crear esta estructura en la carpeta:

$ mkdir -p ~/.vim/pack/NERDTree/start/ $ git clone --depth 1 https://github.com/preservim/nerdtree.git ~/.vim/pack/NERDTree/start/NERDTree $ mkdir -p ~/.vim/pack/foo/start/ $ git clone --depth 1 https://notabug.org/foo/foo.git ~/.vim/pack/foo/start/foo

Si esto es conveniente o no, ya depende de tu criterio.

Utilizando un gestor de paquetes de Vim (cualquier versión de Vim)

Desde la versión 8 de Vim, los gestores de paquetes de Vim se han vuelto menos útiles, pero algunos usuarios todavía los prefieren debido a la posibilidad de auto actualizar varios plugins.

Existen muchos gestores de paquetes en Vim entre los que escoger y cada uno es diferente, pero quizás vim-plug tiene algunas buenas características y la mejor documentación de todos ellos, lo que lo hace muy sencillo para comenzar con él y explorarlo en profundidad más adelante.

Instalando plugins mediante vim-plug

Instala vim-plug de manera que se cargue y arranque mediante:

$ curl -fLo ~/.vim/autoload/plug.vim --create-dirs https://raw.githubusercontent.com/junegunn/vim-plug/master/plug.vim

Crea un archivo ~/.vimrc si no tiene uno ya, si ya lo tienes, añade en ese archivo:

call plug#begin() Plug 'preservim/NERDTree' call plug#end()

Cada vez que quieras instalar un plugin, debes introducir el nombre y la ubicación del plugin entre las líneas plug#begin() y plug#end. (En el ejemplo anterior hemos vuelto a utilizar NERDTree para ilustrarlo.)

Si el plugin que quieres no está en un repositorio en GitHub, entonces puedes añadir la URL completa en vez de solo el nombre del usuario y del proyecto en GitHub. Puedes “instalar” plugins locales fuera de tu directorio ~/.vim.

Para finalizar, arranca Vim e indícale a vim-plug que instale los plugins listados en ~/.vimrc mediante el comando:

:PlugInstall

Espera a que los plugins se descarguen.

Actualizar los plugins con vim-plug

Editar el archivo ~/.vimrc y ejecutar un comando para que realice la instalación probablemente no parece que sirva para ahorrar mucho tiempo respecto del proceso de instalación manual, pero el beneficio real de utilizar vim-plug es a la hora de realizar actualizaciones de esos plugins.

Para actualizar todos los plugins installados simplemente ejecuta en Vim el comando:

:PlugUpdate

Si no quieres actualizar todos los plugins, puedes actualizar cada uno por separado añadiendo el nombre del plugin:

:PlugUpdate NERDTree

Restablecer plugins

Otro beneficio de utilizar vim-plug es a la hora de exportar y la función de restablecer. Como sabe cada persona que utiliza Vim, la forma en la que Vim funciona es a menudo único a cada usuario, en parte debido al uso de plugins distintos.

Una vez que das con los plugins que necesitas y que tienes instalados y configurados, la última cosa que quieres que pase es perderles la pista.

Vim-plug tiene este comando para generar un script para restaurar todos los plugins actuales:

:PlugSnapshot ~/vim-plug.list

Hay muchas otras funciones para vim-plug, así que lo mejor es acudir a la página de su documentación oficial.

Crear el Vim perfecto

Cuando pasas todo el día en un programa, quieres que cada pequeño detalle te sirva de la mejor manera posible. Conoce Vim y sus muchos complementos hasta que crear la aplicación perfecta para las tareas que realices.

¿Tienes algún plugin favorito de Vim sin el que no podrías vivir? Utiliza la sección de comentarios para compartirlo