Emacs 在 TeX 文件上使用 AUCTeX 加载速度慢

Emacs 在 TeX 文件上使用 AUCTeX 加载速度慢

我在两台 Xubuntu 14.04 计算机上安装了auctexemacs软件包,两台计算机都工作正常。 Emacs 本身在两者上都可以正常工作,但现在auctex安装了软件包后,当我加载 TeX 文件(即使只是一个空文件)时,我需要六秒的加载时间auctex,每次加载 TeX 文件时我都必须经历这一过程。

这是正常的吗?

如果没有,我可以做什么来减少这个时间?

我在互联网上搜索过,但没有发现任何结果,只是文件解析可能需要很长时间,但事实并非如此,因为我启用了保存和加载解析文件的功能。

我正在使用 Emacs 24 和 AUCTeX 11.87

*messages*编辑:对于新打开的 TeX 文件,缓冲区的输出如下所示:

("emacs" "hi.tex")
Loading 00debian-vars...done
Loading /etc/emacs/site-start.d/50auctex.el (source)...
Loading /usr/share/emacs/site-lisp/auctex.el (source)...done
Loading /usr/share/emacs/site-lisp/preview-latex.el (source)...done
Loading /etc/emacs/site-start.d/50auctex.el (source)...done
Loading /etc/emacs/site-start.d/50autoconf.el (source)...done
Loading /etc/emacs/site-start.d/50cmake-data.el (source)...done
Loading /etc/emacs/site-start.d/50dictionaries-common.el (source)...
Loading /var/cache/dictionaries-common/emacsen-ispell-dicts.el (source)...
Error while loading 50dictionaries-common: Symbol's value as variable is void: debian-aspell-only-dictionary-alist
Loading /etc/emacs/site-start.d/50latex-cjk-common.el (source)...
Loading cjk-enc...done
Loading /etc/emacs/site-start.d/50latex-cjk-common.el (source)...done
Loading /etc/emacs/site-start.d/50latex-cjk-thai.el (source)...done
For information about GNU Emacs and the GNU system, type C-h C-a.
(New file)
Applying style hooks... done
exchange-point-and-mark: No mark set in this buffer [6 times]
exchange-point-and-mark: No mark set in this buffer

答案1

LaTeX/P 是 PDF 小模式下的 LaTeX 模式。我从来没有遇到过 AUCTeX 的问题(而且我从 emacs v22 开始就使用它),所以我真的不认为 AUCTeX in se 是你的问题。

当您使用 -q 启动 emacs 时,它不会加载任何初始化文件。有关详细信息,请参阅文档。

如果您使用的是 Linux,我会尝试从源代码重新安装 emacs。我从来不相信软件包存储库能够真正工作。 (大部分不信任来自于已经使用了四年多的 TeX 软件包。)如果您使用的是 windoze,请从 FSF 的 ftp 服务器进行安装。如果您使用的是 Mac,请从 emacsformacosx.com 安装

答案2

调试启动缓慢问题的一般方法是使用 emacs 的中断信号(https://emacs.stackexchange.com/questions/506/debugging-a-frozen-emacs

  1. 跑步emacs --debug-init
  2. 使用以下命令查找进程的 pidps -ef | grep emacs
  3. 向进程发送中断信号kill -SIGUSR2 $PID
  4. 这会导致 emacs 显示回溯
  5. 在互联网上搜索此回溯中任何明显的内容
  6. 否则,开始尝试手动运行其中一些函数,看看它们为什么慢。

您可能还对 emacs stackexchange 感兴趣。 (我不确定我自己对 stackexchange 碎片的看法......)

答案3

一种解决方法是暂停 Emacs,C-z然后使用 shell 命令fg恢复,而不是退出。

相关内容