विम में रोगज़नक़ का उपयोग करके कुछ प्लगइन्स को अस्थायी रूप से अक्षम करें।


96

मुझे लगता है कि मेरे पास एक प्लगइन में एक बग है। मैं केवल इस प्लगइन को लोड करना चाहूंगा, मेरे रोगज़नक़ बंडल फ़ोल्डर में अन्य सभी बंडलों को हटाने के बिना, डीबग करने के लिए।

क्या यह संभव है?

जवाबों:


129

जब आप पैथोजन का उपयोग करते हैं, तो एक प्लगइन को निष्क्रिय करने की सबसे आसान विधि है, यह बंडल नाम को जी में जोड़कर है: रोगज़नक़ शुरू करने से पहले, pathogen_disabled चर।

तो मेरे अपने 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()

अपडेट : पैथोजन द्वारा समर्थित एक अन्य विधि, केवल उस बंडल के लिए निर्देशिका का नाम बदलना है जिसे आप अक्षम करना चाहते हैं ताकि यह एक टिल्ड (~) में समाप्त हो जाए। इसलिए autocomplpopबंडल को अक्षम करने के लिए , बस इसका नाम बदलें autocomplpop~


1
टिल्ड रणनीति अब काम नहीं करती है (संस्करण 2.3 के रूप में)।
इच्रिस्टोफरसन

6
@echristopherson कम से कम देव शाखा पर अब रोगज़नक़ में वापस होना चाहिए।
एफडिनॉफ

8
इसके बजाय 2.4यह हो जाता है g:pathogen_blacklist
यूरी घेनसेव

36

vim -u NONE -Nकोई प्लगइन्स के साथ vim को लोड करेगा, आपके .vimrc से कोई सेटिंग नहीं। फिर आप :source /path/to/plugin/you-want.vimलोड किए गए एक प्लगइन को लोड करने के लिए विम के अंदर कर सकते हैं।


+1। frabjous, यह एक बढ़िया सलाह है। लेकिन मेरा मानना ​​है कि @ हर्बर्ट का दृष्टिकोण मेरी स्थिति के लिए बेहतर अनुकूल है, क्योंकि मेरे पास बहुत सारे फुटप्लगिन और ऐसे हैं। जवाब देने के लिए धन्यवाद, आपका समाधान उन बक्से में इस्तेमाल किया जाना है, जिन्हें मैंने रोगज़नक़ स्थापित नहीं किया है।
कोई अभी भी आप का MS-DOS

तुम भी शुरू कर सकते हैं के रूप में vim -u NONE -Nऔर फिर एक बार विम के अंदर, :filetype plugin onfiletype प्लगइन्स सक्षम करने के लिए करते हैं ।
frabjous

9

vim --noplugin

इस स्थिति में विम किसी भी प्लगइन्स को लोड नहीं करेगा, लेकिन आपके vimrc का उपयोग किया जाएगा।

आप अपना प्लगइन vim में लोड कर सकते हैं:

: स्रोत 'आपका प्लगइन पथ'


3

सिर्फ क्यों नहीं:

  1. वर्तमान बंडल निर्देशिका का नाम बदलें
  2. एक नया खाली बंडल निर्देशिका बनाएँ
  3. नए बंडल डायर में अपने परीक्षण प्लगइन फ़ाइलों को रखा?

जब सब कुछ वापस कर दिया जिस तरह से यह था। (प्लगइन्स के बिना विम को लोड करने और प्लगइन फ़ाइल को सोर्स करने का सुझाव दिया गया तरीका काम करेगा अगर यह एक सरल एक-फ़ाइल प्लगइन है, लेकिन यदि आप एक फुटप्लगिन कर रहे हैं, तो चारों ओर घूमना शायद सबसे अच्छा तरीका है और यह कठिन नहीं है।)


+1। सरल और प्रभावी, बस सभी फ़ोल्डरों को एक अस्थायी फ़ोल्डर में ले जाएं।
कोई अभी भी

2

आप इसके मूल नाम के बाद एक टिल्ड साइन ~ लगाकर विशिष्ट प्लगइन का नाम बदल सकते हैं । बंडल के भीतर प्रत्येक प्लग फ़ोल्डर टिल्ड साइन के साथ ~ अंत में रोगज़नक़ द्वारा लोड नहीं किया जाएगा।

हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.