我的emacs版本是24.3.1,我需要在降价模式下输入许多乳胶代码(例如数学公式)。因此,我想使用Auctex提供的自动完成功能。但是Markdown和Latex是两个主要模式,我不能在同一缓冲区中使用它们。有名为MMM模式的软件包,该软件包支持一个缓冲区中的多个主要模式。问题是我不知道如何在.emacs文件中配置它,请给我一些建议。如果您还有其他可以执行此类操作的方法,也欢迎您。
如果您必须在markdown-mode
中执行此操作,我不建议使用mmm
,这很难配置并且有点易于buggy。
相反,请考虑使用间接缓冲区。此过程类似于org-mode
称为org-edit-special
的功能,您可以使用源语言的主要模式在单独的缓冲区中编辑源块。
- 请访问您的Markdown文件,例如
file.md
,使用markdown-mode
。 - 当您想编辑乳胶片段时,请使用
M-x clone-indirect-buffer
。当然,如果您经常使用它,则可以将其绑定到一些方便的密钥。 - 您现在将拥有两个缓冲区访问
file.md
。默认情况下,它们将是file.md
(markdown-mode
中的原始缓冲区)和file.md<2>
(间接缓冲区)。 - 此步骤是可选的,但我强烈建议您的
file.md<2>
缓冲液缩小到相关的乳胶片段。 - 在
file.md<2>
缓冲区中,将您的主要模式更改为auctex。
这两个缓冲区将修改同一文件。一个更改将反映在另一个变化,从一个保存将保存文件。不同之处在于,一个将使用markdown-mode
,另一个将使用auctex。
完成后,您可以杀死file.md<2>
,也可以将其保留在下一个片段中。只需将其解开,找到新的片段,然后再次缩小。