25

我最近从vimtoEmacs因为我想使用org-mode. 我打开了一个~10000 行、50kb 的文件,Emacs23 Org-mode然后添加了大约 10 个一级标题。在 Ubuntu 10.04/32 位下的 Emacs23 中具有 3GB RAM 的四核性能非常慢,以至于无法使用。我在电子邮件列表中发现了两个讨论这个问题的 线程。Org-mode似乎启用linum会导致性能下降。如果必须,我可以在文件中没有行号.org,但我不想禁用我编辑的所有文件的行号。如果我要在“Emacs”中“生活”,我会想要所有其他文件的行号。

如何仅禁用linum部分或所有.org文件?如果我打开了几个文件Emacs并在它们之间切换,是否可以这样做?我在这里找到了一些关于禁用主要模式的行号的讨论,但是我没有什么可以实现的(尽管页面上提到linum-off.el的脚本看起来很有希望,但我(还)不知道 (E)Lisp,所以我不能根据需要更改它)。

Org-mode从版本 6.21b更新Emacs23到版本 7.5,但没有任何区别。GUI 中的性能Emacs非常糟糕,以至于应用程序根本无法响应。性能-nw“更好”,但仍然无法使用。

4

6 回答 6

10

尝试将此添加到您的 .emacs 中:

(defun nolinum ()
  (global-linum-mode 0)
)
(add-hook 'org-mode-hook 'nolinum)

这是假设您使用 linum 而不是其他东西来编号行。无论如何,您可以将此钩子添加到 org-mode 以禁用任何可能在您使用 org-mode 时使 org 变慢的内容。

免责声明:我没有安装 linum,所以我无法测试它,但它应该可以工作。

于 2011-03-08T07:59:52.377 回答
8

如果输入 Mx customize,在 Convenience 组中进入 Linum,将 Linum Eager 更改为 off,或者将 Linum Delay 更改为 on,将大大提高性能。

在我的笔记本电脑(3 GB RAM,双核)上,性能缺陷(与关闭 linum 相比)并不明显,但是在我的上网本上,大约 3000 行 130KB 文件(大约 50-150 毫秒)可能仍然存在一些轻微的性能问题寻呼时延迟)。

于 2011-05-06T03:34:55.447 回答
5

linum-off.el我的问题中提到的已经解决了这个问题。说明在文件中:将文件放入 Emacs 加载路径并添加(require 'linum-off)到 ~/.emacs。此脚本仅对指定的模式关闭行号。我已经测试过了,它工作正常。

于 2012-05-13T10:37:51.867 回答
5

使用nlinum,一个更快的选择。

于 2014-04-24T18:02:27.237 回答
4

你只需要添加 (add-hook 'org-mode-hook (lambda() (linum-mode 0)))。

于 2015-04-24T17:17:03.320 回答
2

我尝试了以下方法,效果很好:

(defun nolinum ()
  (interactive)
  (message "Deactivated linum mode")
  (global-linum-mode 0)
  (linum-mode 0)
)

(global-set-key (kbd "<f6>") 'nolinum)

(add-hook 'org-mode-hook 'nolinum)

当然,您不需要键绑定。我建议您将其保留用于测试目的,如果一切正常,请禁用它。

于 2011-03-09T19:47:12.877 回答