Aquamacs 带有 AUCTeX、Flyspell 和完成功能

Aquamacs 带有 AUCTeX、Flyspell 和完成功能

当我在 中编辑文件LaTeX-mode(我猜是 AUCTeX)时,如果flyspell已启用,则M-TAB没有响应。我无法完成标准 LaTeX 命令 - 例如,它无法\newc完成\newcommand

我找不到有关此的信息...我在 Mac OS X 上使用带有 23.3.1 Emacs 的 Aquamacs。

答案1

M-TAB 有什么用处?你的 LaTeX 菜单中“Complete Macro”后面是否有组合键?应该调用的 lisp 函数是“TeX-complete-macro”。尝试通过键入以下内容手动运行它

\newc

并将光标放在此之后并执行

M-x TeX-complete-macro

如果这有效,那么你可能只需使用以下命令重新绑定 .emacs 中的键即可

(add-hook 'TeX-mode-hook (lambda () (define-key TeX-mode-map "<M-tab>" 'TeX-complete-macro)))

更新:似乎有一个 flyspell 变量可以控制这一点:flyspell-use-meta-tab。您可以将其设置为 nil,然后它就会起作用。

答案2

FlySpell 有一个控制该行为的变量:flyspell-use-meta-tab。文档中说:非零表示 FlySpell 用于M-TAB纠正单词。因此,只需将其放在.emacs文件中即可:

(setq flyspell-use-meta-tab nil)

答案3

AUCTeX-Mailinglist 上的人们 (http://www.mail-archive.com/[电子邮件保护]/信息.html) 通常都会回答这样的问题。

相关内容