在一个几乎有 5000 行的 org 文件中,除非我打开 font-lock-mode
,否则滚动速度非常慢。离开。检查 profiler
中的情况,减速的主要原因是函数org-do-latex-and-related
, 在 org.el
中定义.它似乎卡在 while
中环形:
- org-do-latex-and-related 16587 54%
- if 16587 54%
- progn 16587 54%
- catch 16587 54%
while 16587 54%
此函数的目标是在 org 缓冲区中对 LaTeX 代码片段进行字体化。但是,我的庞大 org 文件中没有任何 LaTeX 代码片段。有谁知道这个函数为什么会在没有 LaTeX 代码的 Org 文件中使用这么多资源?
最佳答案
我在尝试解决我的 org 模式挂起问题时发现了这个问题。我认为我在 https://emacs.stackexchange.com/a/60446/12751 上发布的答案可以帮助到这里。
你有可能有一条很长的线吗?
见 https://emacs.stackexchange.com/questions/598/how-do-i-prevent-extremely-long-lines-making-emacs-slow
我通过 [babel][1] 使用可执行源代码运行 org 模式,默认 [results type][2] 之一将所有结果放在一个 上巨大的行,我的 emacs 对 C-g
没有响应或 ESC
在某种程度上,我总是在扼杀这个过程。C-x =
(what-cursor-position) 说 column=386996
Emacs 27 现在有 so-long-mode
默认包含。转动那个立即向我展示了问题。
您可以通过 (global-so-long-mode 1)
全局启用它。 (参见 [So Long docs][3])。
这将使您退出主模式,进入so-long-mode
。让您有机会在切换回原始模式之前修复长线。
关于scroll - 大型 Org 模式文件中的缓慢光标移动和 `org-do-latex-and-related` 函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59990932/