Disabilita temporaneamente alcuni plugin che utilizzano agenti patogeni in vim.


96

Penso di avere un bug in un plugin. Vorrei caricare solo questo plug-in, senza dover eliminare tutti gli altri bundle nella cartella dei bundle del mio agente patogeno, per eseguire il debug.

È possibile?

Risposte:


129

Il metodo più semplice per disabilitare un plug-in quando si utilizza Pathogen è aggiungere il nome del bundle alla variabile g: pathogen_disabled, prima di avviare il pathogen.

Quindi un esempio dal mio 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()

Aggiornamento : un altro metodo, supportato da Pathogen, consiste nel rinominare semplicemente la directory per il pacchetto che si desidera disabilitare in modo che termini con una tilde (~). Quindi, per disabilitare il autocomplpoppacchetto, rinominalo semplicemente in autocomplpop~.


1
La strategia della tilde non sembra funzionare ora (a partire dalla versione 2.3).
echristopherson

6
@echristopherson Questo dovrebbe essere di nuovo in patogeno ora, almeno sul ramo dev.
FDinoff

8
A partire da 2.4esso diventa g:pathogen_blacklistinvece.
Yuri Ghensev

36

vim -u NONE -Ncaricherà vim senza plugin, senza impostazioni dal tuo .vimrc. È quindi possibile :source /path/to/plugin/you-want.vimall'interno di vim caricare l'unico plug-in che si desidera caricare.


+1. frabjous, questo è un ottimo consiglio. Ma credo che l'approccio di @Herbert sia più adatto alla mia situazione, dal momento che ho molti ftplugin e simili. Grazie per aver risposto, la tua soluzione è destinata ad essere utilizzata in scatole che non posso avere installato l'agente patogeno.
Qualcuno ti usa ancora MS-DOS il

Si potrebbe anche avviare vim as vim -u NONE -Ne poi, una volta all'interno di vim, fare :filetype plugin onper abilitare i plugin per i tipi di file.
frabjous

9

vim --noplugin

In questo caso vim non caricherà alcun plugin ma verrà utilizzato il tuo vimrc.

Dopo aver caricato il tuo plugin in vim:

: fonte "percorso del tuo plugin"


3

Perché non solo:

  1. rinominare la directory del bundle corrente
  2. creare una nuova directory del bundle vuota
  3. mettere i file del plugin di prova nella nuova directory del bundle?

Quando hai finito rimetti tutto com'era. (Il metodo suggerito per caricare Vim senza plug-in e reperire il file del plug-in funzionerebbe se si tratta di un semplice plug-in di un file, ma se stai facendo un ftplugin, spostare le directory è probabilmente il modo migliore e non così difficile.)


+1. Semplice ed efficace, basta spostare tutte le cartelle in una cartella temporanea.
Qualcuno ti usa ancora MS-DOS il

2

È possibile rinominare il plug-in specifico inserendo un segno tilde ~ dopo il nome originale. Tutte le cartelle dei plugin all'interno del bundle con il segno tilde ~ alla fine non verranno caricate dal patogeno.

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.