Instalei o Dr. Chip'snetrw
em sua página inicial, pois é mais novo e atualizado com mais freqüência do que os arquivos que fazem parte da distribuição principal do Vim.
Antes do Vim 8, eu sempre processava o método de instalação do Vimball, abrindo .vba
e executando :source %
. Mas, agora que o Vim 8 adicionou o mecanismo de pacotes, decidi usá-lo. Eu tenho meus pacotes em:
~/.vim/pack/packages/start/
~/.vim/pack/packages/opt/
Então, para instalar o NETRW como um pacote, eu fiz:
cd ~/.vim/pack/packages/start/
wget http://www.drchip.org/astronaut/vim/vbafiles/netrw.vba.gz
mkdir netrw.vim
gunzip netrw.vba.gz
vim netrw.vba
:UseVimball ~/.vim/pack/packages/start/netrw.vim
E foi instalado corretamente. Mas agora, quando edito um arquivo e uso um netrw
comando, digamos, :Lexplore
não tenho certeza de qual netrw
está sendo usado. Se eu fizer:
vim foo
:scriptnames
1: /etc/vimrc
2: /usr/share/vim/vimfiles/archlinux.vim
3: ~/.vim/vimrc
(...)
20: /usr/share/vim/vim80/plugin/netrwPlugin.vim
21: /usr/share/vim/vim80/plugin/rrhelper.vim
22: /usr/share/vim/vim80/plugin/spellfile.vim
23: /usr/share/vim/vim80/plugin/tarPlugin.vim
24: /usr/share/vim/vim80/plugin/tohtml.vim
25: /usr/share/vim/vim80/plugin/vimballPlugin.vim
26: /usr/share/vim/vim80/plugin/zipPlugin.vim
27: ~/.vim/pack/packages/start/csv.vim/plugin/csv.vim
28: ~/.vim/pack/packages/start/csv.vim/ftdetect/csv.vim
29: ~/.vim/pack/packages/start/netrw.vim/plugin/netrwPlugin.vim
30: /usr/share/vim/vim80/scripts.vim
Portanto, a distribuição netrw
é executada primeiro (20) e, em seguida, executada (29). Se eu adicionar packloadall
ao meu, vimrc
a situação muda:
1: /etc/vimrc
2: /usr/share/vim/vimfiles/archlinux.vim
3: ~/.vim/vimrc
4: ~/.vim/pack/packages/start/csv.vim/plugin/csv.vim
5: ~/.vim/pack/packages/start/netrw.vim/plugin/netrwPlugin.vim
(...)
19: /usr/share/vim/vim80/plugin/gzip.vim
20: /usr/share/vim/vim80/plugin/logiPat.vim
21: /usr/share/vim/vim80/plugin/manpager.vim
22: /usr/share/vim/vim80/plugin/matchparen.vim
23: /usr/share/vim/vim80/plugin/netrwPlugin.vim
E o instalado netrw
no meu diretório é executado primeiro (5). No entanto, a distribuição Vim netrw
ainda é executada (23)!
O
netrw
que o Vim usará quando eu disser:Lexplore
? Parece usar o novo (o Vimball instalado),:Lexplore
mas não tenho certeza, pois:h pi_netrw
me fornece o novo documento, mas:h netrw
a documentação antiga (a que acompanha o Vim).A execução
:helptags ~/.vim/pack/packages/start/netrw.vim/doc
não ajuda com o problema de documentação acima (ou seja, às vezes recebo o novo e às vezes o antigo). Existe algo que estou fazendo errado com isso?O Vim sempre dá preferência aos comandos plugins / scripts / autoload que estão
$VIM
(padrão~/.vim
) acima dos comandos$VIMRUNTIME
?
~/.vim
e a que está no diretório do sistema/usr/share/vim
). Em seguida, você pode reinstalar a versão mais recente do netrw no site do Dr. Chip e você tem certeza de que apenas esta versão estará em execução agora.Respostas:
Se você olhar,
netrwPlugin.vim
encontrará:Então, basta definir isso no seu
.vimrc
:Se os dois usarem a mesma variável (
g:loaded_netrwPlugin
), apenas um poderá ser carregado e será suficiente usarpackloadall
ou fonte~/.vim/pack/packages/start/netrw.vim/plugin/netrwPlugin.vim
no final da sua.vimrc
.fonte
~/.vim/pack/../netrw
?