2011-08-31 19 views
9

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

मैं rubycomplete प्लगइन की स्थापना की है और यह एक सभ्य काम कर रहा है, लेकिन कुछ भी RubyMine की तरह एक IDE की तुलना में। एक बार जब मैंने इसे स्थापित किया तो यह ताजा हवा का सांस था कि मैं क्या खो रहा था। यह वाक्यविन्यास, संदर्भ के बारे में अच्छी तरह से अवगत है और आमतौर पर केवल प्रासंगिक संभावित विकल्प दिखाता है।

शायद मैंने अभी चीजों को सही तरीके से सेट नहीं किया है। एक ट्यूटोरियल, ब्लॉग पोस्ट, इस बारे में अच्छी तरह से प्रलेखन करना असंभव है कि इस बारे में कैसे जाना है (विशेष रूप से जो अद्यतित है)। कभी-कभी आप पाते हैं कि विभिन्न टूल्स और सेटअप हैं और इस बारे में ज्यादा स्पष्टीकरण नहीं है कि इसके बारे में कैसे जाना है।

क्या इस प्रकार की चीज़ के लिए कोई समुदाय मानक है? इसे प्राप्त करने के लिए सबसे अच्छे उपकरण क्या हैं? कोई अच्छा ट्यूटोरियल, स्रोत, इसके बारे में कैसे जाना है इसके बारे में संकेत?

मैं लोगों को यह कहते हुए सुनता हूं कि वे रूमिनिन जैसे आईडीई पर विम पसंद करते हैं और वे उचित प्लगइन कॉन्फ़िगरेशन के साथ कई पहलुओं पर बहुत अधिक व्यवहार प्राप्त कर सकते हैं, लेकिन मेरा अनुभव समान नहीं है। मैं वास्तव में विम का उपयोग करना चाहता हूं क्योंकि यह हल्का है और मुझे संपादक पसंद है, लेकिन उत्पादकता सबसे महत्वपूर्ण बात है और मैं इसे सेट अप करने के बारे में 3 से 4 साल पहले ब्लॉग पोस्ट पढ़ने में बहुत अधिक समय बर्बाद कर रहा हूं।

+0

रुबी ऑटो-पूर्ण के साथ बहुत कम आईडीई हैं .. मुख्य रूप से रूबी इतनी गतिशील है कि ऐसा करना मुश्किल है। रुबी ऑटो-पूर्ण समर्थन के साथ मैंने देखा एकमात्र आईडीई कोमोडाएडिट कहा गया है, और यह आमतौर पर उपयोगी नहीं था – Earlz

+0

मुझे आपके प्रश्न में आवश्यकताओं की एक सूची दिखाई नहीं दे रही है। आप क्या करना चाहते हैं vim की पूरी तरह से ऐसा करने के लिए पूरा नहीं है? मैं रूबी में बिल्कुल नहीं हूं इसलिए मुझे नहीं लगता कि मैं वास्तव में मदद कर सकता हूं लेकिन क्या आप अपना प्रश्न अधिक सटीक बना सकते हैं? – romainl

+0

इसी तरह का सवाल यहां: http://stackoverflow.com/q/4824507/513198 –

उत्तर

1

सबसे संचालन जहां भाषा का जुर्माना समझ की आवश्यकता है के लिए, मैं आम तौर पर लगता है कि विम एक समर्पित आईडीई की तुलना में कमी है।

उदाहरण के लिए, आप स्वचालित रूप से कोड दायरे का उपयोग करके refactor नहीं कर सकते हैं (वर्ग बंदर में बार() में) बदल रहा foo (लेकिन वर्ग एप अपने पूरे परियोजना में नहीं में)।

इसी प्रकार, स्वत: पूर्णता हमेशा स्मार्ट नहीं होती है। मुझे लगता है कि सी/सी ++ के लिए स्थिति clang_complete जैसे उपकरणों के लिए सहनशील है। लेकिन जावा, या कम लोकप्रिय भाषा के लिए, मुझे यह महसूस हो रहा है कि पूर्णता स्क्रिप्ट कार्य तक नहीं है। तो आप अपनी बहुत सारी समय स्क्रिप्ट के साथ झुकाव खर्च करते हैं। समस्या यह है कि अच्छे स्वतः पूर्ण करने के लिए आपको एक दुभाषिया या कंपाइलर की पूर्ण शक्ति का लाभ उठाने की आवश्यकता होती है, और स्पष्ट रूप से ऐसा करना आसान नहीं होता है।

फिर भी मैं विम का उपयोग कर रखने के लिए मुख्य रूप से, क्योंकि मैं कोड का हिस्सा है, लेकिन जब स्थिति यह की आवश्यकता है, मैं भी एक IDE अगले विम करने के लिए उपयोग संपादित करने के लिए और अधिक कुशल हूँ।

मैं रूबी पूरा की विशिष्ट स्थिति पता नहीं है, लेकिन मुझे यकीन है कि आप एक सकारात्मक जवाब मिल जाएगा नहीं कर रहा हूँ।

मेरा सपना यह होगा कि प्रत्येक आईडीई के पास अनिवार्य पूर्ण vi इनपुट मोड था।

+2

यही कारण है कि मैं विम इम्यूलेशन पसंद करता हूं, उदाहरण के लिए विजुअल स्टूडियो में वीआईईएमयू। आप दोनों दुनिया के सर्वश्रेष्ठ मिल गया है। – Earlz

+0

@Earlz: मैं ग्रहण में वाइपर का उपयोग कर रहा हूं, यह अच्छा है लेकिन यह भी एक पूर्ण कार्यान्वयन है। –

2

आप, डालने मोड में, Ctrl + x पर हिट कर सकते हैं, फिर Ctrl + o (omni) रूबी विधियों की सूची प्राप्त करने के लिए। आप पहले से ही ea e.g कुछ वर्ण टाइप किया है, तो आप each, each_with_index आदि

में मिल जाएगा मेरी vimfiles टैब बफर में एक और शब्द का उपयोग कर पूरा करने के लिए मैप किया गया है।

यह आईडीई जैसे नेटबीन्स या रूबिमाइन के रूप में महान नहीं है, लेकिन यह काफी अच्छी तरह से काम करता है।

Ctrl + x दबाने के बाद वहाँ अन्य संयोजन आप उपयोग कर सकते हैं पूरा उपयोग करते हुए शब्द, लाइनों आदि कर रहे हैं

ईक्लिम्ड भी है जो ऑटो पूर्ण प्रदान करने के लिए एक हेडलेस ग्रहण का उपयोग करता है लेकिन मैंने कभी काम करने में कामयाब नहीं किया है। ग्रहण करने के लिए Vim को स्थापित और कनेक्ट करना काफी आसान है, लेकिन इसके बाद ...

स्निपमेट each { |element| } तक विस्तार के साथ वैकल्पिक, ea<tab> हो सकता है।

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

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