ईमैक्स में, मैं शुरुआती लाइन की शुरुआत के साथ कोष्ठक को कैसे संरेखित करता हूं?


11

कई emacs मोड में मल्टी-लाइन फ़ंक्शन कॉल के लिए डिफ़ॉल्ट इंडेंटेशन स्टाइल, फ़ंक्शन के अन्य तर्कों के साथ समापन राउंड ब्रैकेट को संरेखित करना है:

function_one(
    arg1,
    arg2
    );

मैं इसे पसंद करूंगा अगर क्लोजिंग ब्रैकेट उस लाइन की शुरुआत के साथ संरेखित हो जिसमें ओपनिंग ब्रैकेट हो। उदाहरण के लिए:

function_one(
    function_two(
        f2_arg1,
        f2_arg2
    ),
    f1_arg2,
    f1_arg3
);

मैं यह कैसे करु?


1
मैं वर्षों से उसी आग्रह को अनदेखा कर रहा हूं ! आज इसे ठीक करने का दिन है।
प्रो। फाल्कन कॉन्ट्रैक्ट ने

जवाबों:


12
  • CC Mode (उदाहरण के लिए, c-mode, java-mode, php-mode) से प्राप्त कई मोड के लिए, अनुकूलित करें c-offsets-alistताकि arglist-closeइसे सेट किया जाए c-lineup-close-paren
  • Cperl- मोड के लिए, cperl-indent-parens-as-blockसच में अनुकूलित करें।
  • Cperl- मोड के लिए, GNU Emacs 24.3+, cperl-close-paren-offsetके नकारात्मक पर सेट हैcperl-indent-level
  • GNU में पर्ल-मोड 24.3 और उससे अधिक के लिए, perl-indent-parens-as-blockसही पर अनुकूलित करें।
  • पायथन-मोड के लिए, यह व्यवहार GNU emacs में 24.3 और उससे अधिक पाया जाता है।

आप एक चर को टाइप करके अनुकूलित कर सकते हैं M-x customize-variable। वैकल्पिक रूप से, निम्न पंक्तियों को अपने साथ जोड़ें ~/.emacs:

(add-to-list 'c-offsets-alist '(arglist-close . c-lineup-close-paren))
(setq cperl-indent-parens-as-block t)
(setq perl-indent-parens-as-block t)

23.1.1 Emacs के साथ अजगर-मोड में काम करने का कोई तरीका है?
इस्माइल

Emacs 23.1.1 का समाधान केवल नवीनतम अजगर-मोड प्राप्त करने के लिए हैयहाँ पर । इसे अपनी ~ / .emacs.d निर्देशिका में अनटार करें, फिर आपकी .emacs फ़ाइल में, इसे जोड़ें:(add-to-list 'load-path (expand-file-name "~/.emacs.d/python-mode.el-6.1.3")) (require 'python-mode)
ishmel

और मैं यह काम C या C ++ में कैसे करूं ?
प्रो। फालकेन कॉन्ट्रैक्ट ने

क्या Emacs> = 24.3 पर दूसरी शैली प्राप्त करने का कोई तरीका है python-mode?
मंगल
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.