2010-01-21 15 views
8

पिछली पोस्ट से मुझे रूबी मोड emacs में काम कर रहा है। यह बहुत अच्छा काम कर रहा है।4 रिक्त स्थान पर emacs रूबी-मोड इंडेंट बदलें

Setting up .emacs file for mac ruby development

हमारी कंपनी इंडेंट हालांकि डिफ़ॉल्ट 2. मैं कठिनाई यह काम करने के लिए हो रही हो रहा है के बजाय के लिए 4 स्थानों का उपयोग करता है।

यहाँ मेरी .emacs फ़ाइल है

(जोड़ने करने वाली सूची 'लोड पथ "~/rdoc-mode.el")

(की आवश्यकता होती है' माणिक मोड)

(सेटक इंडेंट-टैब-मोड शून्य); हमेशा रिक्त स्थान

(सेटक-डिफ़ॉल्ट टैब-चौड़ाई 4) के साथ टैब को प्रतिस्थापित करें; सभी बफर के लिए टैब चौड़ाई 4 पर सेट करें

क्या कोई देखता है कि मैं क्या गलत कर रहा हूं?

धन्यवाद!

+0

टैब-चौड़ाई केवल टैब -> अंतरिक्ष विस्तार को नियंत्रित करता है, दुर्भाग्य से -mode इंडेंट नहीं। –

उत्तर

17

tab-width सेटिंग केवल टैब वर्ण की चौड़ाई को नियंत्रित करती है, यानी आपके बफर में प्रदर्शित होने पर टैब वर्ण कितने रिक्त स्थान के बराबर होता है। यह आपके कोड को इंडेंट करने के लिए उपयोग की जाने वाली रिक्त स्थान (या टैब) की संख्या को प्रभावित नहीं करता है।

रूबी कोड के लिए, खरोज ruby-indent-level चर द्वारा नियंत्रित किया जाता:

(setq ruby-indent-level 4) 
+0

काम किया! बहुत धन्यवाद। – Poul

+0

आपकी कंपनी अजीब है, हर दूसरी रूबी कंपनी 2 रिक्त स्थान का उपयोग करती है :) – horseyguy

3

.emacs बिना छुए यह करने के लिए एक तरह से नहीं है। आप प्रत्येक रूबी फ़ाइल के अंत में एक विशेष टिप्पणी ब्लॉक डाल सकते हैं जो उस फ़ाइल के लिए "file variables" सेट करता है। उस फ़ाइल को संपादित करने वाले किसी भी emacs या xemacs उस टिप्पणी ब्लॉक में मोड, टैब सेटिंग्स, & आदि का उपयोग करेंगे।

एक उदाहरण के रूप में, यहाँ "फाइल चर" ब्लॉक हम रूबी के विकास के लिए उपयोग करते हैं:

# Local Variables: 
# mode: ruby 
# tab-width: 2 
# ruby-indent-level: 2 
# indent-tabs-mode: nil 
# End: 
14

अन्य पोस्टर सही उत्तर प्रदान की है, तो मैं कैसे इस सवाल का जवाब जानने के लिए यहाँ उल्लेख करेंगे इस तरह के सवाल के लिए।

सबसे पहले, जब से तुम सही ढंग से मान लिया है कि मांगपत्र चौड़ाई विन्यास होगा, कोशिश करने के लिए पहली बात यह है:

M-x customize-group RET ruby-mode RET 

और यकीन है कि पर्याप्त, अनुकूलन विकल्प में से एक है "रूबी इंडेंट स्तर" । आप इसे सेट कर सकते हैं और परिवर्तनों को सहेज सकते हैं। किया हुआ! 'मांगपत्र' के लिए

M-x find-library RET ruby-mode RET 

फिर (के साथ सी-रों) खोज:

वैकल्पिक रूप से, आप माणिक-मोड में ही देख सकते हैं। वहाँ आप एक चर परिभाषा मिल जाएगा:

(defcustom ruby-indent-level 2 ...) 

आप पाते हैं जब इस तरह एक चर, आप अपने .emacs (या ~/.emacs.d/init में सेट कर सकते हैं।setq साथ एल):

(setq ruby-indent-level 4) 

तुम भी अनुरूप का उपयोग कर कि चर खोज सकता है:

M-x apropos RET indent ruby RET 

क्यों Emacs के रूप में "आत्म दस्तावेज़ीकृत कर" वर्णित है कि!

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