我想将字体绑定(例如C-c C-f C-b
)修改为更快的内容,例如C-b
。
为了实现所涉及的功能,我尝试使用C-h k
,但我无法正确终止键序列:事实上,当我键入C-c C-f
时,它会触发TeX-font命令的帮助页面。
其次,我想覆盖C-c C-c
中的确认。我不明白如何使用OVERRIDE-CONFIRM参数,尤其是如何将所有内容与新绑定相关联,比如F1,没有确认。
感谢您的帮助。
答案 0 :(得分:4)
auctex字体键绑定特别难以整理,因为您使用的命令使用带有“c”代码字母的interactive函数。因此,C-c C-f
调用函数TeX-font
,并将您键入的下一个字母作为要传递给此函数的参数收集。所以C-c C-f
绑定到一个函数,但就像一个前缀。有关完整说明,请参阅链接的手册页。
这意味着作为评论提供的通常建议不足以获得您想要的内容。您需要调用的关键代码是TeX-font
。获取正确的参数需要深入挖掘源代码。我在.emacs中使用以下函数:
(defun TeX-typewriter()
(interactive)
(TeX-font nil ?\C-t))
(defun TeX-bold()
(interactive)
(TeX-font nil ?\C-b))
(defun TeX-emphasis()
(interactive)
(TeX-font nil ?\C-e))
(defun TeX-smallcaps()
(interactive)
(TeX-font nil ?\C-c))
定义了这些函数后,我在LaTeX-mode-hook中应用了键绑定:
(defun my-LaTeX-hook ()
(local-set-key "\C-ci" 'TeX-italics)
(local-set-key "\C-cb" 'TeX-bold)
(local-set-key "\C-ct" 'TeX-typewriter)
(local-set-key "\C-ce" 'TeX-emphasis)
(local-set-key "\C-cs" 'TeX-smallcaps))
(add-hook 'LaTeX-mode-hook 'my-LaTeX-hook)
这会将TeX-bold绑定到C-c b
,但您可以在此处使用您喜欢的任何内容(例如C-b
)。
答案 1 :(得分:0)
用我的"权力"我无法在Tyler代码中修复一点错误。在这里,我部分重写了它,我也为问题的第二部分提供了解决方案。
假设我们要设置这些字体绑定(但您可以随意修改它们):
Italic "\C-ci" Bold "\C-cb" Typewriter "\C-ct" Emphasis "\C-ce" Smallcaps "\C-cs"
将这些行添加到您的init.el
,或者您的Emacs初始文件的名称:
(defun TeX-italic()
(interactive)
(TeX-font nil ?\C-i))
(defun TeX-bold()
(interactive)
(TeX-font nil ?\C-b))
(defun TeX-typewriter()
(interactive)
(TeX-font nil ?\C-t))
(defun TeX-emphasis()
(interactive)
(TeX-font nil ?\C-e))
(defun TeX-smallcaps()
(interactive)
(TeX-font nil ?\C-c))
(defun latex-font-hook ()
(local-set-key "\C-ci" 'TeX-italic)
(local-set-key "\C-cb" 'TeX-bold)
(local-set-key "\C-ct" 'TeX-typewriter)
(local-set-key "\C-ce" 'TeX-emphasis)
(local-set-key "\C-cs" 'TeX-smallcaps))
(add-hook 'LaTeX-mode-hook 'latex-font-hook)
如果您对此处使用的密钥不满意,请根据需要更改local-set-key
的第一个参数,例如设置(local-set-key "\C-b" 'TeX-bold)
以绑定到Control-b。
要修改C-c C-c
键绑定并可能改进绑定的编译功能(TeX-command-master
),请参阅我的帖子Build & view。