仅在LateX模式下更改下划线和减号的作用


12

在使用带有auctex + emacs(LateX模式)的tex文件的过程中,我更频繁地使用_(下划线)而不是-(减号)。与^而不是6相同。不便之处是我应更频繁地按Shift键。

希望以这样的方式自定义emacs:当emacs处于LateX模式(并且仅在此模式下),当我键入时-emacs类型_和当我键入_ emacs类型-时。即,以下键绑定:

-给_

_给-

6给^

^给出6

可能吗?

Answers:


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
不,@ Constantine。您的建议将导致递归。
2014年

啊对。如果_-相互映射,则可以。
君士坦丁
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.