Los complementos en Vim

Vim, un editor atemporal

Este es uno de los capítulos del tutorial Vim, un editor atemporal. Encontrarás los enlaces a todos los de capítulos, al final de este artículo.

Lo de los complementos en Vim es un mundo aparte. Se trata de una forma de personalizar y adaptar el editor a tus mas exigentes necesidades. Desde la versión 8, Vim soporta de forma nativa los complementos. Sin embargo, como esto de los complementos viene ya de largo, es imnosbile no tener en cuenta los gestores de complementos de terceros. De la misma manera, es imposible revisar todos la multitud de complementos que hay disponibles para Vim, creo que además de ser una labor titánica, tampoco creo que sea lo mas adecuado para un tutorial sobre Vim.

En este capítulo del tutorial sobre, te comentaré sobre un gestor de complementos que estoy utilizando, en el momento de escribir el tutorial, así como algunos de los complementos que mas me han llamado la atención últimamente. Sin embargo, en los capítulos posteriores, que serán capítulos temáticos, abordaré otro gestor de complementos, para que así puedas comparar, y elegir el que mejor se adapte a tus necesidades. Dicho esto, indicarte, por un lado, que últimamente estoy pasando por una etapa en la que quiero tener los mínimos complementos y personalizaciones instaladas en Vim, con el objetivo de conseguir la experiencia mas original posible. Por otro lados, los complementos que te voy a comentar, son los que mas me han llamado la atención, pero no tienen que ser ni los mas populares, ni los mejores para tus necesidades, ni nada por el estilo. Cada uno debería utilizar aquellos complementos que mejor se adapten a sus necesidades. Incluso, debería de si realiza diferentes tareas, adaptar sus complementos a los distintos tipos de tareas.

Complementos en Vim

Los complementos en Vim

Como te decía en la introducción, a pesar de que Vim, soporta de forma nativa los complementos, en este capítulo del tutorial, voy a afrontar un gestor de complementos externo, un gestor de complementos de terceros, que es el que vengo utilizando últimamente. Este gestor de complementos se llama Vundle.

Instalar el gestor de complementos Vundle

Para instalar el gestor de complementos Vundle, tienes que seguir los pasos que te indico a continuación,

cd ~/.vim 
git clone https://github.com/VundleVim/Vundle.vim.git ~/.vim/bundle/Vundle.vim

Una vez realizado desto, al inicio del archivo de configuración de Vim, al inicio de ~/.vimrc tienes que añadir las siguientes líneas,

set nocompatible
filetype off
" be iMproved, required
" required
" establece la ruta para incluir Vudle e lo inicializa
set rtp+=~/.vim/bundle/Vundle.vim
call vundle#begin()
" o pasa una ruta donde Vundle debería instalar los complementos
"call vundle#begin('~/some/path/here')

" let Vundle manage Vundle, required
Plugin 'VundleVim/Vundle.vim'

" Los complementos tienen que ir entre las dos líneas
" los complementos después de la siguiente línea
" ------------------------------------------------------
" ------------------------------------------------------
" los complementos antes de la línea anterior

call vundle#end()

" requerido
filetype plugin indent on
" requerido
" To ignore plugin indent changes, instead use:
"filetype plugin on

Instalar complementos en Vim

Una vez instalado el gestor de complementos, instalar un nuevo complemento es realmente sencillo. Sobre todo, si los complementos están alojados en un repositorio de GitHub. Esto es así, porque para instalar un complemento, tan solo tienes que indicar el nombre del repositorio y nombre del complemento.

Para instalar fugitive.vim un complemento que te hará la vida mucho mas sencilla a la hora de trabajar con git, simplemente tienes que aladir la siguiente instrucción en el archivo .vimrc, entre las dos líneas indicadas anteriormente,

Plugin 'tpope/vim-fugitive'

Una vez añadida esa línea en el archivo de configuración, tan solo tienes que ejecutar la siguiente instrucción en la línea de comandos,

:PluginInstall

Gestionar complementos en Vim

Los comandos mas importantes del gestor de compementos Vundle son los siguientes,

  • :PluginList lista los complementos instalados en Vim
  • :PluginInstall Instala los complementos
  • :PluginUpdate actualiza los complementos
  • :PluginClean elimina los complementos que no se utiliza.

Como te decía en la introducción, en los últimos tiempos estoy intentado utilizar Vim, con el menor número de complementos posibles. De echo los complementos que estoy utilizando son el propio gestor Vundle, y cuatro complementos. Realmente estos cuatro complementos son sencillamente temas o decoradores, y por supuesto, un complemento para trabajar con archivos markdown.

La cuestión, y la razón para comentarte lo anterior, es que en muchas ocasiones, instalamos algún complemento que no es necesario instalar, por que es una característica que soporta de forma nativa Vim. Sin embargo, como no la conocemos nos dejamos embelesar por la magia de los complementos.

Algunos complementos interesantes

Puedes encontrar una enorme lista de complementos en VimAwesome. Un universo completo de complementos disponibles única y exclusivamente para Vim.

En primer lugar te comento, los pocos complementos que estoy utilizando actualmente, y posteriormente, te comentaré algunos de los que mas me han llamado la atención.

vim-airline

vim-airline es un complemento que potencia la línea de estado de Vim hasta límites insospechados. Para instalar, añade la siguiente línea en el archivo de configuración,

Plugin 'vim-airline/vim-airline'

Cuando hayas modificado el archivo de configuración, ejecuta la instrucción :PluginInstall.

Una vez instalado el complemento la línea de estado que puedes ver en el pie de Vim, te mostrará una serie de secciones con diferente información que seguro te será de gran utilidad. Así, de izquierda a derecha te vas a encontrar la siguiente información,

  • el modo en que te encuentras.
  • información relativa a la rama del sistema de control de versiones en el que te encuentras
  • el nombre del archivo seguido de información en el caso de que sea de solo lectura
  • el tipo de archivo, por ejemplo, markdown
  • la condificación del archivo, por ejemplo, utf-8
  • la posición actual

vim-markdown

Para instalar, añade la siguiente línea en el archivo de configuración como te he indicado anteriormente

Plugin 'godlygeek/tabular'
Plugin 'plasticboy/vim-markdown'

Posteriormente, ejecuta la instrucción para instalar complementos, :PluginInstall.

Este complemento añade o mejora las posibilidades de plegado que comenté en el capítulo sobre pliegues en Vim.

dracula-theme

Por fin, y por último un complemento para personalizar el tema de Vim. Este complemento añade una paleta de colores personalizada, dandole un aspecto mas interesante a Vim, o por lo menos es lo que a mi me parece. Para instalar este complemento, añade la siguiente línea en la configuración de Vim,

Plugin 'dracula/dracula-theme'

Una vez modificado el archivo de configuración, ejecuta la instrucción :PluginInstall, para instalar este nuevo complemento.

A partir de aquí, te comento algunos complementos que me han llamado la atención o que he instalado y probado.

vim-surround

Este complemento se encarga de modificar todo aquello que está rodeado por elementos. Por ejemplo, lo que está entre paréntesis, comillas dobles o simples, etiquetas, etc. Para que te hagas una idea, para cambiar comillas simples, por comillas dobles tienes que utilizar lo siguiente cs'". Igualmente, si quieres borrar las dobles comillas, tan solo tienes que utilizar ds".

Para instalar este complemento, tienes que añadir la siguiente línea en el archivo de configuración,

Plugin 'tpope/vim-surround'

Una vez modificado el archivo de configuración solo necesitas ejecutar :PluginInstall.

youcompleteme

Este complemento te ayuda con el autocompletado para lenguajes de programación como puede ser C, Java, Python, Rust, Go, Javascript, y mas, ya que es posible extender las posibilidades de esta herramienta por código. Si no lo conoces, este complemento es un motor de completar códígo mediante búsqueda fuzzy.

Como de costumbre, para instalar este complemento, tienes que añadir la siguiente línea en el archivo de configuración,

Plugin 'valloric/youcompleteme'

Una vez modificado el archivo de configuración, como en las anteriores ocasiones, tienes que ejecutar el comando :PluginInstall.

vim-multiple cursors

Este complemento seguro que te resuelve mas de una papalete. Eso de poder modificar varias líneas de forma simultánea, es una característica que me tiene completamente fascinado, mas que nada, por las posibilidades que te ofrece. Aunque en este caso, te tengo que decir, que yo, actualmente tengo mas que suficiente con las posibilidades que te ofrece Vim, sin necesidad de instalar ningún complemento.

De nuevo y como en ocasiones anteriores, para instalar este complemento tienes que modificar el archivo de configuración de Vim, y añadir la siguiente línea,

Plugin 'terryma/vim-multiple-cursors'

De nuevo, una vez modificado el archivo de configuración, tienes que ejecutar el comando :PluginInstal.

NERDTree

Otro complemento que seguro que te llama la atención es NERDTree. Un complemento que te muestra un árbol interactivo en el panel lateral, algo que te puede ser de gran utilidad para proyectos de cierta envergadura donde tengas que trabajar con muchos archivos. Para instalar este complemento, tan solo tienes que añadir la siguiente línea de configuración en el archivo ~/.vimrc, como en ocasiones anteriores,

Plugin 'preservim/nerdtree'

Una vez modificada la configuración de Vim, tienes que ejecutar el comando :PluginInstall.

vim-gitgutter

Otro de esos complementos que te ayudan a trabajar con Vim, es precisamente este. Se trata de un complemento que añade una columna a la izquierda, donde te indica cama cambio producido en el archivo en el que estás trabajando desde la última revisión de Git. Otra interesante característica que te ofrece este complemento es la posibilidad de saltar entre cambios producidos en el archivo. Para instalar este complemento, modifica el archivo de configuración de Vim, y añade la siguiente línea,

Plug 'airblade/vim-gitgutter'

Conclusión

Por supuesto, esto no son mas que unos pocos complementos de todos los que tienes, para dotar a Python de las características que necesitas para adaptarlo completamente a tus necesidades. Dependiendo del uso que le vayas a dar a Vim, es muy probable que necesites unos u otros complementos.

Yo como te decía en la introducción, estoy apostando por utilizar el mínimo de complementos, con el objetivo de exprimir al máximo Vim, y descubrir todas sus posibilidades. Sin embargo, no descarto estudiar diferentes posibilidades para exprimir Vim y sus complementos.


Deja una respuesta

Tu dirección de correo electrónico no será publicada.