2009-06-05 7 views
8

अभी मानक Emacs खरोज निम्नलिखित की तरह काम करता है:Emacs खरोज


switch (cond) { 
case 0: { 
    command; 
} 
    break; 
} 

मैं छुट्टी चाहते हैं; मामले के साथ लाइन करने के लिए।

इसके अलावा, सी-सेट-ऑफ़सेट कमांड की कहीं सूची है?

+1

तुम्हें पता है कि के बीच कोष्ठक मामले और ब्रेक अनावश्यक हैं जब तक आपको 1 की आवश्यकता नहीं है) मामले में चर घोषित करें और 2) मामले में शाखा, है ना? – dmckee

+0

हाँ, मैं करता हूं। आदत में शुमार। –

उत्तर

22

इंडेंटेशन को अनुकूलित करने में सबसे बड़ी सहायता (मैंने पाया) यह पता लगा रहा है कि सीसी-मोड मौजूदा लाइन को इंडेंट करने के लिए क्या उपयोग करता है। यही है सी-सी सी-ओ उर्फ ​​एम-एक्स सी-सेट-ऑफसेट कर सकता है - यह आपको वाक्यविन्यास तत्व के लिए ऑफ़सेट को अनुकूलित करने की अनुमति देगा, और यह आपको दिखाता है कि वर्तमान पंक्ति के लिए कौन सा तत्व उपयोग किया गया था!

यहां बताया गया है कि आप इसे कैसे अनुकूलित कर सकते हैं। अपने कर्सर को break; लाइन पर ले जाएं।

C-c C-o RET 0 RET 

जो बिंदु पर, अपने कोड की तरह इंडेंट किया जाएगा:

switch (cond) { 
case 0: { 
    command; 
} 
break; 
} 

ऑफसेट पर दस्तावेज़ीकरण के लिए, इसी तरह चर 'c-offsets-alist

C-h v c-offsets-alist RET 

के लिए docstring की जाँच, आप कर सकते हैं इसे अपने .emacs में जोड़ें:

(setq c-offsets-alist '((statement-case-intro . 0))) 

इंडेशन को अनुकूलित करने के लिए प्रलेखन here है और पढ़ने योग्य है। ऐसा करने के कई तरीके हैं, इसलिए मैन्युअल पढ़ना समय के लायक है (यदि आप गैर-डिफ़ॉल्ट इंडेंटेशन चाहते हैं)। और यहां सीसी-मोड में उपयोग किए गए सभी syntactic symbols के लिए एक सूचक है।

+3

मुझे नहीं पता कि यह उत्तर ओपी के लिए उपयोगी था, लेकिन यह निश्चित रूप से मेरे लिए था। मैं Emacs के वर्षों से ब्लॉक पर उद्घाटन घुंघराले-ब्रेस इंडेंट करने पर जोर देकर परेशान हूं। धन्यवाद! –

+0

बहुत बढ़िया, पूरी तरह से काम किया। मैं कुछ वर्षों से एमएक्स का उपयोग कर रहा हूं लेकिन हाल ही में इसे अनुकूलित करना शुरू कर दिया है। तो emacs-lisp मेरे लिए सभी विदेशी है। डॉक्टर के लिए धन्यवाद। –

+0

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

0

मेरे लिए, php-मोड स्विच बयान हो रही है सही ढंग से इंडेंट करने के लिए की आवश्यकता है:

 (c-set-offset (quote brace-list-entry) 2 nil) 
     (c-set-offset (quote case-label) 2 nil) 

लेकिन के रूप में दूसरों का उल्लेख किया है, प्रतिलिपि सह अपने दोस्त है .....