在 AucTeX 中有两个有用的命令:
C-c C-e
用于插入环境和C-u C-c C-e
将当前点的环境更改为另一个环境。对我来说,后一个命令非常不方便,所以我想将其重新绑定到更简单的命令,比如说,C-c e
我曾尝试以标准方式执行此操作:
(defun my-tex-mode-hook ()
(local-set-key ((kbd "C-c e") (kbd "C-u C-c C-e")))
(add-hook 'TeX-mode-hook 'my-tex-mode-hook)
但该命令C-c e
不要求输入参数,即我要选择哪个环境。相反,它总是更改为默认itemize
环境。此外,它在每个 emacs 会话中只能运行一次。
可能我的问题更适合 Emacs 社区,那么抱歉。
答案1
将以下代码添加到您的初始化文件中:
(with-eval-after-load "latex"
(define-key LaTeX-mode-map (kbd "C-c e")
(lambda ()
(interactive)
(LaTeX-environment 1))))
我假设你有 Emacs 24.4 或更新版本,否则此代码将需要稍微更改(with-eval-after-load
在该版本中引入)。