2010-01-30 19 views
55

अधिकतर समय के लिए विम में स्वत: पूर्ण सुविधा मेरे लिए अच्छी तरह से काम करती है, लेकिन कभी-कभी ऐसा लगता है कि वर्तमान फ़ाइल संदर्भ, और फिर यह दर्दनाक रूप से धीमा हो जाता है, कभी-कभी फोकस जारी करने के लिए कई सेकंड लेते हैं मेरे पास वापस आ जाओ।विम का स्वत: पूर्णता

कभी कभी विम मुझे बस है कि यह "स्कैन" दूसरी बार कहता है, यह

कह रहा है, मैं सिर्फ यह रूबी फ़ाइलों में हो गए हैं "स्कैन टैग" और यह ज्यादातर होता है जब वहाँ फ़ाइल में एक की आवश्यकता होती है ।

मेरा अनुमान है कि यह किसी प्रकार की सुविधा है जो स्वत: पूर्ण विकल्पों के लिए संबंधित फाइलों की जांच करती है, लेकिन मुझे वास्तव में इसकी आवश्यकता नहीं है, और जल्दी स्वतः पूर्ण पसंद करेंगे।

+1

आप किस पूर्णफन का उपयोग कर रहे हैं? –

+1

मुझे एक ही समस्या है, लेकिन सी ++ में। क्या आपको यह नियंत्रण में मिला? मैंने टैग-फाइलों के साथ और बिना खेलना शुरू कर दिया है, लेकिन यह वर्तमान निर्देशिका को फिर से स्कैनिंग करता रहता है (मैंने इसे देखा है, यह देखने के लिए कि यह क्या कर रहा है, और यह उन सभी फ़ाइलों पर कॉलिंग स्टेट रखता है)। यह एक स्पष्ट वातावरण है == slooooow। – falstro

उत्तर

98

जैसा कि मैंने एक टिप्पणी में उल्लेख किया था, मुझे एक ही समस्या थी। यहां मुझे जो मिला है;

वीआईएम को एक सेटिंग कह रही है जहां पूर्णता की तलाश है, जिसे complete कहा जाता है।

:set complete 
complete=.,w,b,u,t,i 

यह डिफ़ॉल्ट मान है। मेरी समस्या है (वास्तव में ..) 'मैं', जो सभी शामिल फ़ाइलों को स्कैन करता है। यहाँ दो समस्याओं, पहले एक, उन सभी फ़ाइलें खोजने के लिए काफी समय लग सकता है कर रहे हैं, खासकर यदि आप मेरी तरह,

:set path=** 

दूसरा समस्या, एक बार मिल गया, वे पढ़ा जा करने की जरूरत है, और अगर आपके पास एक नेटवर्क वाली फाइल सिस्टम (मैं स्पष्टता पर हूं) का उपयोग कर रहा हूं, उन सभी फ़ाइलों को ढूंढना और पढ़ना, कैश मिस को ट्रिगर कर सकता है, जिससे दर्दनाक धीमा हो जाता है।

मैंने अभी तक मुझे हटा दिया है, क्योंकि मेरे पास टैग-फ़ाइल है और अक्सर नहीं, मेरे पास मेरे बफर (लोड या अनलोडेड) में प्रासंगिक फ़ाइलें भी हैं जिन्हें 'बी' के परिणामस्वरूप खोजा जाएगा। ' और तुम'।

उपयोग

set complete-=i 

सूची से मैं दूर करने के लिए, ध्यान दें कि यह बफर करने के लिए स्थानीय है।

+0

पर हैं तो आदेश कमांड है। यह इन underexposed bughly प्रासंगिक कॉन्फ़िगरेशन विकल्पों में से एक है जिसका उल्लेख 'insert.txt' मदद – sehe

4

क्या आपके पास काम कर रहे प्रोजेक्ट के लिए टैग फ़ाइल है? यदि एक्स्ट्यूबरेंट-सीटीएजी के साथ एक उत्पन्न करने की कोशिश न करें और विम को टैगलिस्ट प्लूग्लिन के साथ इसे चुनना चाहिए।

+0

ctags -R आपकी परियोजना रूट में; यदि आप linux – gustavgans

40

विम 7.3 (7.2 से) तक अपग्रेड करने के बाद से एक बहुत ही समान समस्या थी: मैं (उत्कृष्ट) ACP plugin और लंबी स्रोत फ़ाइलों (सी-फाइल, 1700 एलओसी) में उपयोग कर रहा था, पॉपअप ने सुझावों के माध्यम से कूदने के लिए उम्र ली जब मैं फ़ाइल के नीचे संपादन कर रहा था।

PerformanceValidator (Softwareverify से) का उपयोग करके, मुझे पता चला कि कुछ गुना तरीकों को बार-बार कहा जाता है और बहुत अधिक प्रोसेसर लोड और धीमी समाप्ति का कारण बनता है।

मेरा कामकाज foldmethod (fdm) manual पर सेट करना था। और यह हल हो गया ...

+1

में नहीं किया गया है, आप बहुत अच्छे हैं। रुबी फाइलों में पूरा करना मेरे लिए असामान्य रूप से धीमा था, उन फ़ाइलों में जो आकार में काफी छोटे थे (~ 100 एलओसी)। इसे हल नहीं कर सका। तब मैंने इसे पढ़ा। मैं रूबी बफर में "वाक्यविन्यास" के अलावा किसी भी चीज़ में foldmethod बदलता हूं और पूरा होने पर तुरंत होता है। अब, पृथ्वी पर क्यों फोम विधि को पागल की तरह कहा जा रहा है जब विम स्वतः पूर्ण हो रहा है? – Legion

+1

यह मेरे लिए भी काम किया। और फिर, "पृथ्वी पर क्यों फोम विधि को पागल की तरह कहा जा रहा है जब विम स्वतः पूर्ण हो रहा है?" !! – Jason

+1

अगर मैं कर सकता तो मैं एक +5 दे दूंगा। [इस ब्लॉग] पर चिल्लाओ (http://economyofeffort.com/2012/03/01/fixing-slow-vim-auto-completion-with-ruby-files/) मुझे यहां इंगित करने के लिए। – Kelvin

संबंधित मुद्दे