我有 Emacs 24.4.1 和以下软件包,以便获得自动完成功能:
- yasnippet
- 自动完成
- 自动完成-auctex
(当然还有 AUCTeX)
我输入完后\usep
按 TAB 键,字符串会自动补全为
\usepackage[opt1,...]{Package}
我希望的是以下行为,而不是这种行为:
\usepackage{Package}
我应该改变哪个选项来实现所需的行为?
答案1
假设您使用的是 UNIX 系统,并且已手动安装了 auto-complete-auctex(例如,通过复制.emacs.d
文件夹中的 .el 文件,然后从.emacs
文件中加载它),您只需编辑 .el 文件并更改不需要的完成即可。要编辑的相关行是第 49 行:
(LaTeX-arg-usepackage . (["opt1,..."] "Package"))
将其更改为
(LaTeX-arg-usepackage . ("Package"))
重新启动 Emacs,一切就绪。
请注意,如果您通过包系统安装了 auto-complete-auctex 包,我不确定此方法是否有效(我建议您手动安装此包,因为它是一个很简单的包,不会造成任何损害)。
还请注意,我不知道这一切在非 UNIX 系统上是如何运作的。
答案2
在我输入 \usep 然后按 TAB 后,字符串会自动完成为...
错误的方法。不要输入\usep
,而是输入 Cc Cm 然后usep
按 tab。因为 auctex 有自己的完成包的机制。