最近我在我的系统上下载了emacs来编辑大型文件。当尝试打开大文件时,emacs给我一个超出缓冲区大小的问题。
有没有办法增加它?!我有一个内存为24 GB的系统!
答案 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