केवल लेटेक्स-मोड में अंडरलाइन और माइनस-साइन की भूमिका को बदलना


12

Auctex + emacs (लेटेक्स-मोड) के साथ टेक्स फ़ाइलों के साथ काम के दौरान, मैं - (माइनस साइन) के बजाय अधिक बार _ (अंडरलाइन) का उपयोग करता हूं। 6. के बजाय ^ के समान। असुविधा यह है कि मुझे शिफ्ट-की को अधिक बार प्रेस करना चाहिए।

इस तरह से Emacs को अनुकूलित करना वांछनीय होगा जब Emacs लेटेक्स-मोड ( और इस मोड में ) में हो, जब मैं टाइप करता हूँ - emacs टाइप _ और जब मैं टाइप करता हूँ _ emacs टाइप -। अर्थात, निम्नलिखित की-बाइंडिंग:

- देता है _

_ देता है -

6 देता है ^

^ 6 देता है

क्या यह संभव है?

जवाबों:


16

कुछ इस तरह:

(add-hook 'LaTeX-mode-hook 'my-latex-hook)

(defun my-latex-hook ()
  (require 'tex-site)
  (define-key LaTeX-mode-map "-" (lambda () (interactive) (insert "_")))
  (define-key LaTeX-mode-map "_" (lambda () (interactive) (insert "-")))
  (define-key LaTeX-mode-map "6" (lambda () (interactive) (insert "^")))
  (define-key LaTeX-mode-map "^" (lambda () (interactive) (insert "6"))))

अद्भुत, आपका कोड पूरी तरह से काम करता है।
नाम

1
(define-key LaTeX-mode-map "-" "_")और इतने पर पर्याप्त होना चाहिए ( "_"एक कीबोर्ड मैक्रो के रूप में व्याख्या की गई है), इसके साथ ही यह काम करता है TeX-electric-sub-and-superscript
कांस्टेंटाइन

1
नहींं, @ कॉन्सटेंटाइन। आप जो सुझाव देंगे वह पुनरावृत्ति का कारण बनेगा।
अबू-अबो

अरे हाँ। ऐसा होता है _और -एक दूसरे के लिए मैप किया जाता है।
कांस्टेंटाइन
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.