我最近从vim
转到Emacs
,因为我想使用org-mode
。我在Emacs23
Org-mode
中打开了一个~10000行,50kb文件,然后添加了大约10个第一级标题。在Ubuntu 10.04 / 32bit下Emacs23中具有3GB RAM的四核的性能非常慢,无法使用。我在Org-mode
电子邮件列表中找到two threads来讨论此问题。似乎启用linum
会导致性能降低。如果必须,我可以在.org
文件中没有行号,但我不想禁用我编辑的所有文件的行号。如果我要在“Emacs”中“活”,我会想要所有其他文件的行号。
如何仅针对部分或全部linum
文件停用.org
?如果我在Emacs
中打开了多个文件并在它们之间切换,是否可以执行此操作?我发现了一些关于禁用主要模式here的行号的讨论,但是我没有任何可以实现的内容(尽管页面上的linum-off.el
脚本mentioned看起来很有希望,但我没有(但是)知道(E)Lisp,所以我不能按照我的需要改变它。)
我将Org-mode
从Emacs23
附带的版本6.21b更新为7.5版,但没有任何区别。 Emacs
GUI中的性能非常糟糕,应用程序根本无法响应。 -nw
的效果“更好”,但仍无法使用。
答案 0 :(得分:10)
尝试将此添加到您的.emacs:
(defun nolinum ()
(global-linum-mode 0)
)
(add-hook 'org-mode-hook 'nolinum)
这假设你使用linum而不是其他东西来编号。无论如何,您可以将此挂钩添加到org-mode以禁用在您使用org-mode时可能使org缓慢 的任何内容。
免责声明:我没有安装linum,所以我无法测试,但它应该可以工作。
答案 1 :(得分:8)
如果您输入M-x自定义,请转到便利组中的Linum,将Linum Eager更改为关闭,或将Linum Delay更改为开启,这将大大提高性能。
在我的笔记本电脑(3 GB RAM,双核)上,性能上的缺点(相对于linum off)是不明显的,但是在我的上网本上,~3000行130KB文件可能仍有一些轻微的性能问题(~50分页时延迟-150毫秒。
答案 2 :(得分:5)
linum-off.el
解决了这个问题。文档中包含以下说明:将文件放入Emacs加载路径并将(require 'linum-off)
添加到〜/ .emacs。此脚本仅关闭指定模式的行号。我已经测试过了,它运行正常。
答案 3 :(得分:5)
使用nlinum,一种更快的替代方案。
答案 4 :(得分: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)
当然,您不需要键绑定。我建议您将其保留用于测试目的,如果一切正常,请将其禁用。
答案 5 :(得分:2)
你只需要添加(add-hook&#39; org-mode-hook(lambda()(linum-mode 0)))。