yalnızca LateX modunda alt çizgi ve eksi işaretinin rolünü değiştirme


12

Auctex + emacs (LateX modu) ile tex dosyaları ile çalışırken, - (eksi işareti) yerine daha sık _ (alt çizgi) kullanırım. 6 yerine ^ ile aynı. Bu rahatsızlık, shift tuşuna daha sık basmam gerektiğidir.

Emac'ları, emacs LateX modunda ( ve sadece bu modda ), yazarken - emacs _ türünü ve _ emacs türlerini - yazdığımda - özelleştirmek istenir . yani, aşağıdaki anahtar bağlamaları:

- _ verir

_ verir -

6 verir ^

^ 6 verir

Mümkün mü?

Yanıtlar:


16

Bunun gibi bir şey:

(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"))))

harika, kodunuz mükemmel çalışıyor.
İsim

1
(define-key LaTeX-mode-map "-" "_")ve böylece yeterli olmalıdır ( "_"klavye makrosu olarak yorumlanır), artı bu ile çalışır TeX-electric-sub-and-superscript.
Konstantin

1
Hayır, Konstantin. Önerdiğiniz şey özyinelemeye neden olur.
abo-abo

Ah, doğru. Birbirine eşlenirse yapar _ve -eşlenir.
Konstantin
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.