Emacs Org-Mode:关闭 linum

问题描述 投票:0回答:6

我最近从

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

如何仅对部分或全部

linum
文件禁用
.org
?如果我在
Emacs
中打开多个文件并在它们之间切换,是否可以执行此操作?我发现了一些关于禁用主要模式的行号的讨论here,但是我没有什么可以实现的(尽管页面上的
linum-off.el
脚本提到看起来很有希望,但我(还)不知道(E) Lisp,所以我无法根据需要更改它)。

我将

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

emacs org-mode emacs23
6个回答
9
投票

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

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

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

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


8
投票

如果输入 M-x custom,进入 Convenience 组中的 Linum,将 Linum Eager 更改为关闭,或者将 Linum Delay 更改为打开,这将大大提高性能。

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


6
投票
我的问题中提到的

linum-off.el
已经解决了这个问题。文件中包含说明:将文件放入 Emacs 加载路径并将
(require 'linum-off)
添加到 ~/.emacs。此脚本仅关闭指定模式的行编号。我测试过,效果很好。


5
投票

使用 nlinum,一个更快的替代方案。


4
投票

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


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)

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

© www.soinside.com 2019 - 2024. All rights reserved.