Autocompletado de texto en Vim

Una de las funcionalidades de los editores de texto tradicionales que más eché en falta al pasarme a Vim fue la del autocompletado. Y es que el autocompletado de texto en Vim no viene por defecto.

Peeeeeero…

Eso no quiere decir que no sea posible integrarlo y/o utilizarlo, es cuestión de dar unos cuántos pasos de configuración extra para poder integrarlo.

Para añadir funcionalidades a Vim hay que instalar plugins y eso lo hace posible Vundle.

¿Cómo instalar Vundle en Vim?

Primero que nada clonamos el proyecto:

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

Es tiempo de crear el archivo «plugins.vim» dentro del fichero ~/.vim que se creó al clonar el proyecto y colocar este contenido:

set rtp+=~/.vim/bundle/Vundle.vim
call vundle#begin()
let g:clang_c_options = '-std=gnu11'
Plugin 'VundleVim/Vundle.vim'

" (*) Aqui agregamos las líneas <Plugin> para incorporar nuevos plugins a Vim

call vundle#end() " required
filetype plugin indent on " required

Ahora hay que editar el archivo .vimrc y agregar esta línea al final:

$ so ~/.vim/plugins.vim

Luego ejecutamos por terminal el siguiente comando para instalar Vundle:

$ vim +PluginInstall +qall

Ya tenemos todo listo para empezar a instalar plugins en Vim, para el autocompletado voy a utilizar YouCompleteMe.

¿Cómo instalar YouCompleteMe para el autocompletado de texto en Vim?

Esta es la forma de instalarlo en Linux para distribuciones basadas en debian como mi adorado Ubuntu.

Instalando CMake, Vim y Python

$ sudo apt install build-essential cmake vim-nox python3-dev

Instalando mono-complete, go, node, java and npm

$ sudo apt install mono-complete golang nodejs default-jdk npm

YouCompleteMe (YCM) necesita compilar para funcionar, así que vas a tener que hacer esto:

$ cd ~/.vim/bundle/YouCompleteMe
$ python3 install.py --all

Añadiendo YouCompleteMe para que reconozca el plugin instalado

Ahora que tienes YCM instalado y compilado solo falta decirle a Vim que tiene el plugin disponible y para eso vamos a editar el archivo plugins.vim de la siguiente manera:

set rtp+=~/.vim/bundle/Vundle.vim
call vundle#begin()
let g:clang_c_options = '-std=gnu11'
Plugin 'VundleVim/Vundle.vim'
Plugin 'Valloric/YouCompleteMe'
" (*) Aqui agregamos las líneas <Plugin> para i    ncorporar nuevos plugins a Vim

call vundle#end() " required
filetype plugin indent on " required

Con esto ya tendrías todo listo y el resultado debe ser algo como esto:

68747470733a2f2f692e696d6775722e636f6d2f304f50346f6f642e676966
snell rojas

Soy Snell Rojas y vivo de hacer SEO

Me encanta escribir, investigar y cuando me llega la inspiración también dibujar. Soy licenciado en física de profesión, pero el SEO es mi verdadera pasión.

Si tienes alguna duda o pregunta me puedes escribir por tuiter (md o mención que da igual) igual en cuanto pueda te respondo.