Vim-plug: gerenciador de plugins minimalista

3 mins

Tanto o Vim quanto o Neovim vem com um arsenal poderoso de ferramentas, suficiente para manter alguém ocupado por semanas aprendendo o uso básico. Porém, dependendo do que você precisa, a chance de que você queira instalar um plugin é grande.

Plugins são arquivos de texto (que contém código) e servem para estender ou implementar alguma funcionalidade. Por serem arquivos de texto, eles se espalham dentro da pasta que contém as suas configurações. Certos plugins são pequenos e consistem de apenas um arquivo de texto. Outros são grandes e complexos, consistem em vários arquivos que precisam ser distribuídos em vários diretórios.

E é aí que começa a confusão. Você provavelmente não vai querer gerenciar e dar a manutenção e tanta coisa. Na verdade, vou deixar por sua conta imaginar quais seriam os problemas de gerenciar plugins manualmente. Não vou entrar em detalhes nos problemas: existem soluções.

Existem vários gerenciadores de Plugins, sinta-se a vontade para escolher, testar e ver qual que você mais gosta. Neste artigo, vou detalhar apenas a instalação e o uso básico do Vim-plug. Desta forma, se você ainda não tem um gerenciador favorito, você pode seguir este tutorial e testar todos os plugins que tiver vontadade, sem dificuldades.

Caso prefira outras alternativas, no final do artigo você encontra uma lista com outros gerenciadores.

Instalando Vim-plug

O Vim-plug é só um arquivo, para instalar você só precisa baixar o arquivo e colocá-lo em um lugar onde o Vim possa achar. Se você quiser fazer isso manualmente, baixe o arquivo aqui, e coloque dentro da pasta chamada de Autoload (que se encontra em ~/.vim/autoload no Vim e em ~/.config/nvim/autoload para o Neovim).

Se você preferir fazer isso de forma automática, no repositório oficial você encontra as seguintes instruções:

Unix

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

Neovim

$ curl -fLo ~/.local/share/nvim/site/autoload/plug.vim --create-dirs \
    https://raw.githubusercontent.com/junegunn/vim-plug/master/plug.vim

Windows (PowerShell)

md ~\vimfiles\autoload
$uri =
'https://raw.githubusercontent.com/junegunn/vim-plug/master/plug.vim'
(New-Object Net.WebClient).DownloadFile($uri,
$ExecutionContext.SessionState.Path.GetUnresolvedProviderPathFromPSPath("~\vimfiles\autoload\plug.vim"))

Instalando plugins

Os plugins que o Vim-plug instala, são listados nas configurações do usuário. Isso quer dizer que você precisa listar os plugins no seu arquivo ~/.vimrc (ou ~/.config/nvim/init.vim se você usa o Neovim).

Como exemplo, vamos instalar o Goyo que cria um ambiente livre de distrações (para você poder escrever mais sossegado). Vale a pena mencionar que o Goyo foi criado pelo mesmo autor do Vim-plug.

Adicione essas linhas ao seu .vimrc:

call plug#begin('~/.vim/plugged')

Plug 'junegunn/goyo.vim'

call plug#end()

Todos os plugins que você queira adicionar, vão ficar entre as linha call plug#begin( e `call plug#end().

Na linha call plug#begin('~/.vim/plugged'), coloque entre os parênteses a pasta onde você quer que os plugins fiquem.

Como uso o Vimplug tanto no Neovim quanto no Vim, a minha primeira linha é assim: call plug#begin().

Toda vez que você alterar as configurações do Vim-plug, lembre-se de recarregar o arquivo com as suas configurações para que as mudanças tenham efeito. Isso pode ser feito fechando e reabrindo o Vim, ou com: :source ~/.vimrc.

Agora sim, para instalar o plugin, rode o seguinte comando: :PlugInstall.

A partir daí, seu plugin já tá rodando e você provavelmente vai esquecer o Vim-plug existe. Continuando o exemplo acima, você já pode testar o Goyo com: :Goyo.

Atualizando plugins

Não poderia ser mais fácil que isso: :PlugUpdate e pronto. Caso você queira atualizar o próprio Vim-plug, use: :PlugUpgrade.

Removendo plugins

Também não poderia ser mais simples:

  1. Remova a linha que contém o plugin (Plug etc...) do seu .vimrc.
  2. Recarregue o Vim (`:source ~/.vimrc) or reinicie o Vim.
  3. Rode :PlugClean. Isso vai detectar e remover os plugins que não estão na sua lista.

Outros gerenciadores de plugins