如何在降价模式下添加auctex的自动完成功能?



我的emacs版本是24.3.1,我需要在降价模式下输入许多乳胶代码(例如数学公式)。因此,我想使用Auctex提供的自动完成功能。但是Markdown和Latex是两个主要模式,我不能在同一缓冲区中使用它们。有名为MMM模式的软件包,该软件包支持一个缓冲区中的多个主要模式。问题是我不知道如何在.emacs文件中配置它,请给我一些建议。如果您还有其他可以执行此类操作的方法,也欢迎您。

如果您必须在markdown-mode中执行此操作,我不建议使用mmm,这很难配置并且有点易于buggy。

相反,请考虑使用间接缓冲区。此过程类似于org-mode称为org-edit-special的功能,您可以使用源语言的主要模式在单独的缓冲区中编辑源块。

  1. 请访问您的Markdown文件,例如file.md,使用markdown-mode
  2. 当您想编辑乳胶片段时,请使用M-x clone-indirect-buffer。当然,如果您经常使用它,则可以将其绑定到一些方便的密钥。
  3. 您现在将拥有两个缓冲区访问file.md。默认情况下,它们将是file.mdmarkdown-mode中的原始缓冲区)和file.md<2>(间接缓冲区)。
  4. 此步骤是可选的,但我强烈建议您的file.md<2>缓冲液缩小到相关的乳胶片段。
  5. file.md<2>缓冲区中,将您的主要模式更改为auctex。

这两个缓冲区将修改同一文件。一个更改将反映在另一个变化,从一个保存将保存文件。不同之处在于,一个将使用markdown-mode,另一个将使用auctex。

完成后,您可以杀死file.md<2>,也可以将其保留在下一个片段中。只需将其解开,找到新的片段,然后再次缩小。

最新更新