Desative temporariamente alguns plug-ins usando o pathogen no vim.

96

Acho que tenho um bug em um plugin. Eu gostaria de carregar apenas este plugin, sem ter que deletar todos os outros bundles na pasta de bundle do meu pathogen, para depurar.

É possível?

Alguém ainda usa você MS-DOS
fonte

Respostas:

129

O método mais fácil de desabilitar um plugin quando você usa o Pathogen é adicionando seu nome de pacote à variável g: pathogen_disabled, antes de iniciar o pathogen.

Então, um exemplo do meu próprio vimrc

" To disable a plugin, add it's bundle name to the following list
let g:pathogen_disabled = []

" for some reason the csscolor plugin is very slow when run on the terminal
" but not in GVim, so disable it if no GUI is running
if !has('gui_running')
    call add(g:pathogen_disabled, 'csscolor')
endif

" Gundo requires at least vim 7.3
if v:version < '703' || !has('python')
    call add(g:pathogen_disabled, 'gundo')
endif

if v:version < '702'
    call add(g:pathogen_disabled, 'autocomplpop')
    call add(g:pathogen_disabled, 'fuzzyfinder')
    call add(g:pathogen_disabled, 'l9')
endif

call pathogen#infect()

Atualizar : outro método, suportado pelo Pathogen, é simplesmente renomear o diretório do pacote que você deseja desabilitar para que termine em um til (~). Portanto, para desativar o autocomplpoppacote, basta renomeá-lo para autocomplpop~.

Jeroen
fonte
1
A estratégia do til não parece funcionar agora (a partir da versão 2.3).
echristopherson
6
@echristopherson Isso deve estar de volta ao pathogen agora, pelo menos no branch dev.
FDinoff
8
A partir de 2.4então se torna g:pathogen_blacklist.
Yuri Ghensev
36

vim -u NONE -Nirá carregar o vim sem plugins, sem configurações do seu .vimrc. Você pode então :source /path/to/plugin/you-want.vimdentro do vim carregar o plugin que deseja carregar.

frabjous
fonte
+1. frabjous, este é um ótimo conselho. Mas acredito que a abordagem de @Herbert é mais adequada para a minha situação, já que tenho muitos ftplugin e coisas do tipo. Obrigado por responder, sua solução é goign para ser usado em caixas que não posso ter patógeno instalado.
Alguém ainda usa você MS-DOS
Você também pode iniciar o vim como vim -u NONE -Ne, uma vez dentro do vim, do :filetype plugin onpara habilitar os plug-ins do tipo de arquivo.
frabjous
9

vim --noplugin

Nesse caso, o vim não carregará nenhum plug-in, mas seu vimrc será usado.

Depois de carregar seu plugin no vim:

: fonte 'o caminho do seu plugin'

Regisz
fonte
3

Por que não apenas:

  1. renomear o diretório do pacote atual
  2. crie um novo diretório de pacote vazio
  3. colocar seus arquivos de plug-in de teste no novo diretório de pacote?

Quando terminar, coloque tudo do jeito que estava. (O método sugerido para carregar o Vim sem plug-ins e obter o arquivo do plug-in funcionaria se for um plug-in simples de um arquivo, mas se você estiver fazendo um ftplugin, mover os diretórios é provavelmente a melhor maneira e não tão difícil.)

Herbert Sitz
fonte
+1. Simples e eficaz, basta mover todas as pastas para uma pasta temporária.
Alguém ainda usa você MS-DOS
2

Você pode renomear o plugin específico colocando um sinal de til ~ após seu nome original. Todas as pastas de plug-ins dentro do pacote com o sinal til ~ no final não serão carregadas pelo patógeno.

Ryan Wu
fonte