2010-07-01 7 views
5

विम 7 में, Ctrl-X Ctrl-O संभावित मानों की एक सूची दिखाता है, लेकिन जब मैं अक्सर स्वत: पूर्ण सुविधा का उपयोग करता हूं तो मुझे यह अनुक्रम कुंजी बहुत लंबा लगता है। उदाहरण के लिए, एक HTML फ़ाइल में, मैं < टाइप करने के बाद एक या दो अक्षरों के बाद सूची को स्वचालित रूप से पॉपअप देखना चाहता हूं। एक सीएसएस फ़ाइल में, मैं ":" कुंजी दबाए जाने के बाद सूची देखना चाहता हूं। क्या इसे स्थापित करने का कोई तरीका है?Ctrl-X Ctrl-O के बजाय कुछ वर्णों पर Vim omnicomplete दिखाएं?

उत्तर

8

"टाइपिंग" पर omnicompletion को सक्रिय करने के लिए आप निम्नलिखित मैपिंग का उपयोग कर सकते हैं। यहाँ तक कि जब टाइपिंग, omnicompletion सक्रिय हो होगा ":" टिप्पणी में या किसी अन्य संदर्भ जिसमें आप omnicompletion नहीं करना चाहती में: ""

imap : :<c-x><c-o> 

नुकसान यह है कि हर बार जब आप प्रेस है।

मैं सक्रिय omnicompletion करने के लिए ctrl- अंतरिक्ष मैप किया गया है:

imap <c-space> <c-x><c-o> 

यह मैं ओमनी सक्रिय करने के लिए जब भी मैं इसकी आवश्यकता विकल्प देता है।

+0

मैं इस पर Habi से सहमत होना होगा। जब आप इसे स्वचालित रूप से ट्रिगर करने की अपेक्षा करते हैं तो ओमनी-पूर्णता को विशेष रूप से ट्रिगर करना बेहतर होता है। ओमनी-समापन आपकी मदद करने के लिए एक उपकरण होना चाहिए, न कि जिस पर आप भरोसा करते हैं। – jamessan

+3

मैं, कह सकते हैं कि सिर्फ (सीएसएस फ़ाइल प्रकार के लिए सीमित समय केवल आप टाइप करेंगे के रूप में: है जब आप उन विकल्पों चाहते 'औ FileType सीएसएस imap:।: ' – sleepynate

+0

@sleepynate धन्यवाद, यह वास्तव में क्या है मैं चाहता था! – geoffeg

1

एक और विकल्प जिसे मैंने आसान पाया, केवल टैब को दो बार दबाएं जब आप स्वतः पूर्ण होना चाहते हैं, और नियमित टैब के लिए एक बार। में निम्न पंक्ति जोड़ें अपने ~/.vimrc

imap <tab><tab> <c-x><c-o>