自动完成时不要求输入可选参数

自动完成时不要求输入可选参数

我有 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 有自己的完成包的机制。

相关内容