Respostas:
Para instalar um plug-in, precisamos saber de que forma ele entra. Pode ser:
.vim
arquivoplugin/*
, syntax/*
etc.) (o que torna um plug-in Vundle compatível e outros gerenciadores de plugins são intercambiáveis? )Um único .vim
arquivo deve ser colocado no .vim/plugin
diretório
Um arquivo Vimball pode ser instalado abrindo-o no Vim e executando :source %
.
Um conjunto de arquivos no layout de diretório padrão pode ser instalado copiando-os .vim
ou usando um gerenciador de pacotes de plug - ins .
Os plugins podem depender de certos recursos. Portanto:
Para a maioria dos plugins, no entanto, isso pode não ser importante.
Eu gosto de usar o gerenciador de plugins vim-plug .
O problema com a instalação manual de um plug-in é que é bastante difícil remover um plug-in; você costuma ter vários arquivos diferentes em diretórios diferentes, precisa encontrá-los e removê-los manualmente.
A atualização de problemas também é difícil: e se autoload/old-name.vim
for renomeada autoload/new-name.vim
? Agora você tem tanto uma versão antiga e nova de um plugin.
vim-plug
resolve isso armazenando cada plug-in em seu próprio diretório; Ele também inclui o comando para instalar / remover facilmente um plug-in, para que você não precise se preocupar com o descompactamento de plug-ins e similares.
Uma vantagem importante do vim-plug sobre o Pathogen é que o vim-plug permite instalar e remover plugins com mais facilidade. Tudo o que o Pathogen faz é permitir que cada plug-in esteja em um diretório separado.
o vim-plug depende do git ; para MS Windows, você deseja msysgit .
Você pode definir plugins no seu vimrc da seguinte forma:
call plug#begin('~/.vim/plugged')
" For MS Windows, this is probably better:
"call plug#begin('~/vimfiles/plugged')
Plug 'embear/vim-localvimrc'
Plug 'kchmck/vim-coffee-script'
" ... etc
call plug#end()
Em seguida, reinicie o Vim e instale plugins com:
:PlugInstall
Isso colocará os plugins no ~/.vim/plugged
ou $HOME\vimfiles\plugged
para o MS Windows.
Você pode adicionar
este trecho da FAQ ao seu arquivo vimrc antes da plug#begin()
chamada:
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
endif
Observe que você precisa curl
que isso funcione. Isso quase sempre está disponível no Linux e OSX, mas não no MS Windows; para que esse truque não funcione lá ...
Para remover um plug-in, remova-o do arquivo vimrc e execute:
:PlugClean
Observe que o vim-plug não suporta a instalação de scripts no site de scripts do Vim, mas esses scripts são espelhados no GitHub , portanto não há necessidade de fazê-lo.
Existem também algumas vantagens adicionais, como atualização mais fácil do plug-in e carregamento sob demanda para obter melhor desempenho. Você também pode copiar facilmente o seu vimrc para outro computador, executar :PlugInstall
e ter todos os seus plugins.
Observe que existem mais gerenciadores de plugins; Eu uso vim-plug
. Consulte também: Qual é a diferença entre os gerenciadores de pacotes vim?
O Pathogen é um gerenciador de caminhos em tempo de execução, que carrega plugins no Vim. Simplifica a instalação do plugin; aqui está como funciona:
Nota: Se você estiver usando o Windows, substitua ~/.vim
por $HOME\vimfiles
.
Copie pathogen.vim
para ~/.vim/autoload/pathogen.vim
.
Crie o ~/.vim/bundle
diretório, se ele ainda não existir.
Adicione a seguinte linha ao início do seu .vimrc
:
execute pathogen#infect()
Você Terminou! Quando você deseja adicionar um plug-in, basta copiar o diretório inteiro do plug-in para ~/.vim/bundle
, ou git clone
para lá. Por exemplo:
cd ~/.vim/bundle
git clone https://github.com/tpope/vim-surround
* Advertência: Se o seu plugin vem na forma de um .vim
arquivo, ele não funcionará com o Pathogen. Copie-o para ~/.vim/plugin
(em vez disso, talvez seja necessário criar esse diretório, se ele não existir).
git submodule add
(em vez de git clone
) se sua configuração do vim já faz parte do seu próprio projeto git.
runtimepath
opção e é tudo. Não trata de atualizar, adicionar, recuperar, remover plugins.
A versão 8 introduz um novo mecanismo de pacotes que substitui amplamente a necessidade de gerenciadores de plugins existentes (pathogen, vim-plug, vundle etc.) no momento da redação (2017).
A partir da documentação :
Um pacote Vim é um diretório que contém um ou mais plugins
Um diretório de pacotes contém dois subdiretórios:
start/
- contém plugins que serão carregados automaticamenteopt/
- contém plugins carregados sob demanda com :packadd
Pode parecer um pouco complicado, mas na prática tudo o que você precisa fazer é adicionar seu plugin aqui :
↓ package name
~/ .vim / pack / bundle / start / some-plugin
↑ packages dir ↑ plugin dir
No Windows : use em ~\vimfiles\pack\
vez de~/.vim/pack/
Por convenção, usamos o nome do pacote "bundle" como o diretório que conterá todos os nossos plugins. Você pode usar o nome que quiser e pode colocar seus plugins em diretórios de pacotes separados, se realmente quiser.
mkdir -p ~/.vim/pack/bundle/start
cd ~/.vim/pack/bundle/start
git clone https://github.com/tpope/vim-sensible.git
No Windows : use em ~\vimfiles\pack\
vez de~/.vim/pack/
Da próxima vez que você iniciar o Vim, o plug-in será carregado automaticamente.
.vim
estiver sob controle de versão, talvez seja melhor instalar plug-ins com os submódulos do git; consulte shapeshed.com/vim-packages/#adding-a-package .
Não esqueçamos o grande e poderoso Vundle !
O Vundle é um gerenciador de plugins completo, com funcionalidade para:
:PluginSearch
):PluginInstall
):PluginUpdate
):PluginClean
)Como você pode ver, é muito parecido com o gerenciador vim-plug mencionado por Carpetsmoker. Não sei qual veio primeiro, mas as APIs são muito parecidas comigo, assim como o processo de instalação .
.vimrc
, portanto, ao instalar em um novo servidor, tudo o que você precisa é de uma instalação do Vundle + sua .vimrc
para instalar tudo. Além disso, você pode comentar seus plugins e "limpá-los", mas poderá comentá-los meses ou anos depois, quando você esquecer seus nomes.
Provavelmente, seu plugin será um único arquivo .vim.
Se for esse o caso, procurei a ajuda e experimentei e descobri o seguinte. No vim (modo de comando), digite:
:set runtimepath
Isso mostrará uma série de diretórios. Alguns desses diretórios terão um plugin
subdiretório. Se você colocar qualquer arquivo .vim em um desses plugin
subdiretórios, ele será carregado automaticamente quando você iniciar o vim de qualquer lugar.
Para mim, no Ubuntu linux, achei que /usr/share/vim/vim74/plugin
funcionava bem, instalar para todos os usuários. Você pode precisar de permissão root para copiar um arquivo aqui (prefixe seu cp
ou mv
comando com sudo
).
vim74
, o que significa que é específico da versão; portanto, a atualização para o Vim 8.0 perderá esse plug-in. Mais maneira upgrade-prova seria usar /etc/vim/
para que (criá-lo se não estiver presente, e acrescentar que caminho para runtimepath
se não estiver disponível no /etc/vimrc
)
Most likely, your plugin will be a single .vim file
Eu discordo. A grande maioria dos plug-ins vem com um .txt
arquivo que contém o documento e você precisa gerar as tags para obter um documento funcional. Muitos plugins também vêm com um autoload
diretório. Eu acho que usando um gerenciador de plug-in é uma solução melhor do que gerir o seu runtimePath manualmente
/usr/share/vim/vimXX
é o tempo de execução das ações e não é o local para configuração / plugins do site. Em vez disso, as configurações / plug-ins do site devem ser colocados em qualquer $VIM
lugar do sistema (consulte :h vimfiles
). Normalmente, esse é /usr/share/vim
o caso do Ubuntu e mantém links simbólicos para /etc/vim
. Em geral, /usr/local/
é o local de fato para a configuração do site fora do gerenciador de pacotes . Observe que o Neovim usa $XDG_(CONFIG|DATA)_DIRS
e site
diretórios, fornecendo melhores padrões prontos para uso nas configurações do site.
O Vire utiliza o formato de pacote mais recente para instalar plug-ins e suporta o Vim e o Neovim. Você não precisa saber para onde vai tudo. Basta fornecer um vimrc e o Vire cuidará do resto.
vi
em qualquer caixa moderna provavelmente será iniciado apenasvim
com alguns recursos desativados. Duvido que muitas pessoas tenham acesso ao Vi atual atualmente.