Emacs阅读大文件~14GB

时间:2011-12-02 08:21:03

标签: linux file emacs

最近我在我的系统上下载了emacs来编辑大型文件。当尝试打开大文件时,emacs给我一个超出缓冲区大小的问题。

有没有办法增加它?!我有一个内存为24 GB的系统!

4 个答案:

答案 0 :(得分:9)

我从未使用它,但vlf.el是查看过大文件的elisp hack。我相信它使用insert-file-contents,但是从偏移中读取以便做类似于分页的事情。

the wiki上有一些注释,但除了上面链接的vlf.el之外没有解决方法。

答案 1 :(得分:4)

为什么要编辑巨大的14Gb文件?我认为想要这样做是错误的。

你没有时间阅读所有(甚至是大多数)这样庞大的文件。它是什么类型的文件? (一些日志文件,一些MySQL转储文件???)

因此,您正在该文件中搜索某些特定模式。帮自己一个忙,编写一个脚本(甚至是一个程序)来做这件事,并在需要时编辑(如果相关)你的大文件......

很可能,你不关心那个巨大文件的大部分内容。只有几行对你很重要。

或者将文件拆分为较小的部分(例如使用csplit),然后编辑相关的较小块,然后使用cat

重建大文件

答案 2 :(得分:4)

键入 M - : (log most-positive-fixnum 2)以查看返回值是否接近64或32.如果是后者,请编译或获取64位Emacs。如果大文件导致迟缓,还要看 M-x find-file-literally ;它应该禁用一些耗时的操作,例如font-lock-mode

答案 3 :(得分:3)

您是否正在运行64位版本的emacs?检查文件,你应该得到这样的东西:

$ file /usr/bin/emacs
/usr/bin/emacs: ELF 64-bit LSB executable, AMD x86-64, version 1 (SYSV), for GNU/Linux 2.6.9, dynamically linked (uses shared libs), for GNU/Linux 2.6.9, stripped