Tymczasowo wyłącz niektóre wtyczki za pomocą patogenu w vimie.

96

Myślę, że mam błąd w jednej wtyczce. Chciałbym załadować tylko tę wtyczkę, bez konieczności usuwania wszystkich innych pakietów w folderze paczek mojego patogenu, aby debugować.

Czy to możliwe?

Ktoś nadal używa ciebie MS-DOS
źródło

Odpowiedzi:

129

Najłatwiejszą metodą wyłączenia wtyczki podczas korzystania z Pathogen jest dodanie jej nazwy pakietu do zmiennej g: pathogen_disabled, przed uruchomieniem patogenu.

A więc przykład z mojego własnego 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()

Aktualizacja : Inną metodą obsługiwaną przez Pathogen jest po prostu zmiana nazwy katalogu pakietu, który chcesz wyłączyć, tak aby kończył się tyldą (~). Aby wyłączyć autocomplpoppakiet, po prostu zmień jego nazwę na autocomplpop~.

jeroen
źródło
1
Wydaje się, że strategia tyldy nie działa teraz (od wersji 2.3).
echristopherson
6
@echristopherson To powinno być teraz z powrotem w patogenach, przynajmniej w gałęzi deweloperów.
FDinoff,
8
Od 2.4tego staje się g:pathogen_blacklistzamiast.
Yuri Ghensev
36

vim -u NONE -Nzaładuje vima bez wtyczek, bez ustawień z twojego .vimrc. Możesz wtedy :source /path/to/plugin/you-want.vimw Vimie załadować jedną wtyczkę, którą chcesz załadować.

frabjous
źródło
+1. frabjous, to świetna rada. Ale uważam, że podejście @Herbert lepiej pasuje do mojej sytuacji, ponieważ mam dużo ftplugin i tym podobnych. Dziękuję za odpowiedź, Twoje rozwiązanie jest idealne do użycia w pudełkach, w których nie mogę zainstalować patogenu.
Ktoś nadal używa ciebie MS-DOS
Możesz także uruchomić vima jako, vim -u NONE -Na następnie, gdy znajdziesz się w nim, zrób, :filetype plugin onaby włączyć wtyczki typu pliku.
frabjous
9

vim --noplugin

W tym przypadku vim nie załaduje żadnych wtyczek, ale użyty zostanie twój vimrc.

Po załadowaniu wtyczki w vimie:

: źródło 'twoja ścieżka wtyczki'

Regisz
źródło
3

Dlaczego nie tylko:

  1. zmienić nazwę bieżącego katalogu pakunków
  2. utwórz nowy pusty katalog pakietu
  3. umieścić pliki wtyczki testowej w nowym katalogu pakietu?

Kiedy skończysz, odłóż wszystko z powrotem do poprzedniego stanu. (Sugerowana metoda ładowania Vima bez wtyczek i pozyskiwania pliku wtyczki działałaby, gdyby była to prosta jednoplikowa wtyczka, ale jeśli wykonujesz ftplugin, przenoszenie katalogów jest prawdopodobnie najlepszym sposobem i nie jest tak trudne.)

Herbert Sitz
źródło
+1. Prosty i skuteczny, po prostu przenieś wszystkie foldery do folderu tymczasowego.
Ktoś nadal używa ciebie MS-DOS
2

Możesz zmienić nazwę konkretnej wtyczki, umieszczając znak tyldy ~ po jej oryginalnej nazwie. Wszystkie foldery wtyczek w pakiecie ze znakiem tyldy ~ na końcu nie zostaną załadowane przez patogen.

Ryan Wu
źródło