AUCTeX 的快速入门指南说
与 AUCTeX 中的几乎所有地方一样,您可以使用 TAB 或 SPC 键来获取可用级别名称的列表,并自动完成您开始输入的内容。
这让我觉得 AUCTeX 有一个自动完成功能。但按 TAB 键没有任何作用。我很抱歉问了这么简单的问题,但我花在搜索上的时间比我可能节省的时间要多,所以这是我放弃之前的最后手段。
那么,Emacs AUCTeX 中确实有自动完成功能吗?如果有,该如何启用它?
编辑:我刚刚发现M-TAB
有问题,因为它与 OS GUI 操作绑定。我看到一个网站讨论了这个问题,它指出有两个键绑定应该是等效的:c-[ c-I
和ESC TAB
。但由于某种原因,这两个键为我写的单词提供了字典拼写更正,这与我所期望的并不完全一致。
答案1
它确实具有自动完成功能。(它的功能比任何人知道的都要多。)例如,尝试C-c C-m
(用于调用宏,如\footnote
或\ref
);输入字母“s”并按 TAB。其余部分将变得清晰。 C-c C-e
将提示开始新环境。等等。
如果您将 AUCTeX 与 reftex 一起使用,请尝试C-c [
提示您输入书目\cite{<key>}
命令。
你应该浏览手动的与您的工作最相关的部分。
答案2
正如您所提到的,AUCTeX 具有自动完成功能,默认情况下,该M-Tab
功能与许多窗口管理器相冲突。该功能称为TeX-complete-symbol
您可以通过它使用它M-x TeX-complete-symbol
或将它绑定到您喜欢的任何其他键。通过将以下内容插入到您的 .emacs 中,您可以C-Tab
在 LaTeX 模式(即 AUCTeX)中将其绑定到:
(add-hook 'LaTeX-mode-hook
(lambda()
(local-set-key [C-tab] 'TeX-complete-symbol)))
C-c Ret
不过,我认为使用(对于)可能更有效TeX-insert-macro
,C-c C-e
(for LaTeX-environment
)和YASnippet。
答案3
答案4
您可以使用 Emacs 的原生动态缩写扩展来实现大多数自动完成功能。
试试看M-/
。您可以不断重复M-/
,以循环遍历所有可能的完成方式。
更多细节:https://www.gnu.org/software/emacs/manual/html_node/emacs/Dynamic-Abbrevs.html