2012-11-26 16 views
10

मैं Emacs बारे में ज्यादा पता नहीं है, लेकिन कुछ Googling के बाद, मैं अपने .emacs फ़ाइल इस प्रकार संपादित होने के लिए:मैं अपने कोड के साथ मेरी // टिप्पणियों को इंडेंट करने के लिए Emacs कैसे प्राप्त कर सकता हूं?

(setq c-default-style "bsd" c-basic-offset 4) 

मेरा लक्ष्य 4 से स्थान दिया गया टैब के साथ ऑलमैन शैली खिसकने प्राप्त करने के लिए किया गया था। यह अपेक्षित के रूप में काम करता है, लेकिन अब मेरे // टिप्पणियां मेरे कोड से इंडेंट नहीं हैं। इससे पहले कि मैंने इसे बदल दिया, जब मैं // टाइप करूंगा, तो यह फ़ंक्शन में शेष कोड के साथ ऑटो-इंडेंट हो जाएगा। मैं Emacs को // टिप्पणियों को स्वत: इंडेंट कैसे प्राप्त कर सकता हूं?

मैं ऊपर .emacs फाइल करने के लिए c-indent-comments-syntactically-p 1 जोड़ने की कोशिश की है, लेकिन है कि यह परिवर्तन नहीं किया ...

उदाहरण के लिए:

int main() 
{ 
    // I'd like this line to be auto-indented to match the block 
    for (int i = 0; i < 10; ++i) 
    { 
     // And this line to be auto-indented to match the block 
     doStuff(); 
    } 
} 

वर्तमान में, TAB मेरी // टिप्पणी इंडेंट नहीं करता है, और यह स्वचालित रूप से या तो इंडेंट नहीं करता है।

उत्तर

8

आप संबंधित इंडेंट के मूल्य को संबंधित लाइन पर बिंदु डालकर C-c C-o दबाकर देख सकते हैं। प्रासंगिक पसंदों को अपनी पसंद के अनुसार समायोजित करें।

यह स्थायी नहीं होगा। वैश्विक स्तर पर परिवर्तन करने के लिए अपने .emacs में फ़ंक्शन c-set-offset के प्रत्यक्ष आमंत्रण का उपयोग करें।

सरल उदाहरण:

int main() { 
    // 
} 

यह मेरा डिफ़ॉल्ट मांगपत्र है। कर्सर को लाइन 2 पर ले जाने के बाद मैं देखता हूं कि प्रासंगिक प्रतीक comment-intro है।

का उपयोग करना:

(c-set-offset 'comment-intro 6) 

मैं:

int main() { 
     // 
} 

ऑफसेट प्रतीकों भर में जम जाता है:

int main() { 
     // 
    { 
      // 
    } 
} 
+0

लेकिन क्या होगा अगर यह एक नेस्टेड ब्लॉक है? – Cornstalks

+1

@ कॉर्नस्टॉक ऑफसेट आसपास के ऑफ़सेट के सापेक्ष है। मैंने एक उदाहरण जोड़ा। – pmr

+0

बहुत बढ़िया। ऊपर से मेरी छोटी '.emacs' फ़ाइल को देखते हुए, इसे जोड़ने का सही तरीका क्या होगा? '(Setq c-default-style" bsd "c-basic-ऑफसेट 4 (सी-सेट-ऑफसेट 'टिप्पणी-परिचय 4) डाल रहा है)' मेरे 'में।emacs' फ़ाइल त्रुटि के साथ Emacs barf बनाता है: 'गलत प्रकार तर्क: प्रतीकात्मक, (सी-सेट-ऑफसेट (उद्धरण टिप्पणी-परिचय) 4) ' – Cornstalks

1

साधते टैब अभी भी अपनी टिप्पणी लाइन, सही indents? फिर आप जो खो रहे हैं वह ऑटोइंडेंटेशन को ट्रिगर करने वाले डबल-स्लैश की स्वत: पहचान है। यह (सी-इलेक्ट्रिक-स्लैश) द्वारा कार्यान्वित किया जाता है। सबसे पहले सुनिश्चित करें कि स्लैश अभी भी उस आदेश से जुड़ा हुआ है: C-h k / (कीस्ट्रोक स्लैश पर सहायता)। फिर, सी-इलेक्ट्रिक-स्लैश के लिए प्रलेखन को मानते हुए, यह पता लगाने के लिए पढ़ें कि यह किस स्थिति में अवरुद्ध है।

+0

नहीं। टैब अब टिप्पणी को इंडेंट नहीं करता है। मैं इसका उल्लेख करने के लिए अपने प्रश्न को संपादित करूंगा। – Cornstalks

0

आप अपने कोड दायरे से ही alignement पर अपनी टिप्पणी डाल करने के लिए बस अपने ~/.emacs फाइल करने के लिए folllowing पंक्ति जोड़ने चाहते हैं:

(c-set-offset 'comment-intro 0) 
संबंधित मुद्दे

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