LateXモードで下線とマイナス記号の役割を変更する


12

auctex + emacs(LateXモード)でのtexファイルの作業中、-(マイナス記号)の代わりに_(下線)をより頻繁に使用します。6ではなく^と同じです。不便なのは、Shiftキーをより頻繁に押す必要があることです。

emacsがLateXモード(およびちょうどこのモード)にあるとき、私が入力するとき-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"))))

すばらしい、あなたのコードは完全に機能します。
名前14年

1
(define-key LaTeX-mode-map "-" "_")などが十分である必要があり("_"キーボードマクロとして解釈されます)、さらにこれはで動作しTeX-electric-sub-and-superscriptます。
コンスタンティン14年

1
いいえ、@ Constantine。あなたが提案することは再帰を引き起こします。
abo-abo 14年

ああ、そう。それは場合はありません_し、-相互にマッピングされます。
コンスタンティン14年
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.