Vim plugins de manera fácil 👽

Vim-plug permite manejar los plugins de vim de manera muy fácil y sin salirnos de nuestro .vimrc

Vim plugins de manera fácil 👽

Tengo dos meses de estar intentando usar Vim de manera progresiva y dejar de lado Visual Studio Code. Luego de haber creado un poquito de muscle memory con hjkl y los comandos básicos y no tan tan básicos, esta semana me llegó el momento de usar plugins.

Y sí, ya vi ese video sobre cómo hacer varias cosas que los plugins más famosos hacen sin hacer uso de plugins, es solo que yo no soy tan purista 🙅‍♂️.

Existen varios plugin managers para vim (vundle, pathogen, volt, por mencionar algunos) pero yo me decidí por vim-plug.

Me gustó por tres razones:

  • Trabajo en tres máquinas distintas, así que quería sincronizar mi work environment entre ellas. Vim-plug hace esto bien fácil porque uno puede declarar la instalación del mismo manager y las dependencias de plugins dentro del .vimrc y listo, voy a tener el mismo workflow everywhere, fam!
  • Lo de arriba otra vez.
  • Me gustó asociar el logo que tiene con un 👽

Mi .vimrc inicia con el auto install del manager

"Auto install of vim plug
if empty(glob('~/.vim/autoload/plug.vim'))
  silent !curl -fLo ~/.vim/autoload/plug.vim --create-dirs
    \ https://raw.githubusercontent.com/junegunn/vim-plug/master/plug.vim
  autocmd VimEnter * PlugInstall --sync | source $MYVIMRC
endif

Y luego sigue con la instalación de los plugins que declare dentro de plug#begin y plug#end

"Auto install my dependencies:
"Nerdtree & Fuzzysearch atm
call plug#begin('~/.vim/plugged')
    Plug 'https://github.com/scrooloose/nerdtree' 
    Plug 'junegunn/fzf', { 'dir': '~/.fzf', 'do': './install --all' }
    Plug 'junegunn/fzf.vim' 
call plug#end()

La notación de arriba puede confundir un poco, sucede que se puede pasar la URL completa de Github o un shorthand:

Shorthand notation:
fetches https://github.com/junegunn/fzf.vim
Plug 'junegunn/fzf.vim'

Nunca pensé que iba a ser tan feliz con tan poco, pero la verdad es que Vim me ha enseñado a valorar cosas tan mínimas como los keystrokes que hago y a ser constante en mejorar y en aprender.

He dejado de lado varias riquezas que tienen los IDE's y editores modernos, me ha costado, pero no me arrepiento y espero hacer la transición completa este año.

Y si quieren ver el .vimrc que llevo hasta el momento, lo pueden encontrar aquí.