केवल एक मोड (लेटेक्स मोड) के लिए इलेक्ट्रिक-इंडेंट-मोड को अक्षम करना


11

मुझे पसंद नहीं है जिस तरह से इलेक्ट्रिक इंडेंट मोड लेटेक्स-मोड में काम करता है। हर जगह (कम से कम हर जगह मैं उपयोग करता हूं), यह बहुत अच्छा है।

मैं केवल लेटेक्स मोड के लिए स्थायी रूप से इलेक्ट्रिक इंडेंट मोड को कैसे अक्षम कर सकता हूं, लेकिन इसे हर जगह रख सकता हूं?

मैं अनुमान लगा रहा हूं कि यह मेरी कॉन्फिग फ़ाइल में एक-लाइन लिस्प हैक है, या ऐसा कुछ है, लेकिन मैं लिस्प में भयानक हूं, इसलिए मैं इसका पता नहीं लगा सकता।

जवाबों:


8

आपको जो कमांड चाहिए electric-indent-local-mode। आप इसे मैन्युअल रूप से कॉल करके किसी भी बफर में इलेक्ट्रिक-इंडेंट-मोड को बंद करने के लिए उपयोग कर सकते हैं M-x electric-indent-local-mode:। यह एक टॉगल है, इसलिए इसे फिर से उसी बफ़र में कॉल करने से यह फिर से चालू हो जाता है।

अपने init फ़ाइल से स्वचालित रूप से ऐसा करने के लिए, आपको एक हुक सेट करने की आवश्यकता है। सबसे पहले, हुक को परिभाषित करें:

(defun remove-electric-indent-mode ()
  (electric-indent-local-mode -1))

फिर इसे उचित मोड हुक में जोड़ें। AUCTex द्वारा प्रदान किए गए LaTeX मोड के लिए इलेक्ट्रिक-इंडेंट-मोड को बंद करने के लिए, इसका उपयोग करें:

(add-hook 'LaTeX-mode-hook 'remove-electric-indent-mode)

डिफ़ॉल्ट टेक्समोड के लिए, उपयोग करें:

(add-hook 'tex-mode-hook 'remove-electric-indent-mode)

वही पैटर्न किसी अन्य मोड के लिए है जिसे आप इलेक्ट्रिक इंडेंटेशन बंद करना चाहते हैं।

मोड हुक पर अधिक जानकारी के लिए, अंतर्निहित Emacs मैन्युअल नोड देखें [(emacs) Hooks][1]। आप Emacs के माध्यम से वहाँ से प्राप्त कर सकते हैं C-h i r m Hooks <enter>: C-hमदद के लिए, iजानकारी के rलिए, मैनुअल पढ़ने के mलिए , मेनू आइटम के लिए, और Hooksमेनू आइटम लेने के लिए। (या आप HTML संस्करण को देखने के लिए ऊपर दिए गए लिंक का अनुसरण कर सकते हैं)।


आपको एक अतिरिक्त फ़ंक्शन को परिभाषित करने की आवश्यकता नहीं है: (add-hook 'LaTeX-mode-hook (lambda () (electric-indent-local-mode -1)))पर्याप्त।
एमिल जेकाब

यह सच है, लेकिन यदि आप किसी फ़ंक्शन को परिभाषित करते हैं, तो आप इसे कई अलग-अलग हुक में दोहराए बिना कोड का पुन: उपयोग कर सकते हैं। अनाम की तुलना में परिभाषित फ़ंक्शन को निकालना आसान है। डिबगिंग के समय यह उपयोगी हो सकता है
टायलर
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.