Emacs非常缓慢地创建缓冲区

时间:2012-01-12 15:35:13

标签: windows emacs

在我的机器上,Emacs在创建缓冲区时需要一个长文件:打开文件或目录时,或者在启动M-x shell时。暂停是10-15秒,真的很烦人。

当我打开大约150多个缓冲区时(大多数是我的机器上的文件和目录;有~5 cmd支持的shell缓冲区;没有远程文件),似乎会出现此问题。

我运行了全局自动恢复模式,但即使关闭它,问题仍然存在。

我在.emacs的StackOverflow上找到了这个东西,但它没有帮助:

(setq w32-get-true-file-attributes nil)

我的环境:Emacs 23.2.1,Windows 7.您对我可以尝试的内容有任何建议吗?

4 个答案:

答案 0 :(得分:6)

我遇到了同样的问题并将其追踪到vc-find-file-hook

将此行添加到〜/ .emacs为我解决了问题

(remove-hook'find-file-hooks'vc-find-file-hook)

另见:

Git slows down Emacs to Death - How to Fix this?

答案 1 :(得分:1)

我遇到了同样的问题,它会在文件系统的某些部分快速打开文件,而在其他部分则会缓慢(延迟10-15秒)。我怀疑这可能是由于在Windows 7中打开文件的一些次优方式,所以我在emacs.exe文件上启用了Compability模式(XP)。这解决了这个问题。

这当然是一种解决方法,我怀疑真正的问题是emacs对文件的操作方式。希望这将在未来某个时间得到修复。

答案 2 :(得分:0)

您可能需要检查find-file-hook的值以查看哪些软件包挂钩到文件打开,并且可能尝试逐个删除它们以查看其中一个是否是罪魁祸首。

答案 3 :(得分:0)

Jason Furtney几乎相同,除了在我的情况下:

(remove-hook 'find-file-hooks 'vc-refresh-state)

完成工作了。

实际上Windows上的git status似乎是SLOOOOOOWWWW。因此,如果您不需要有关git status'文件的信息,则可以大大提高速度。

例如,我的M-x org-agendaa年龄没有以前大。