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


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.