在Mac OS X上编辑大文件[关闭]


77

有没有人对程序员的编辑提出任何建议,可以处理Mac OS X上的大文件?总的来说,我的意思是数百兆字节。TextMate不会削减它。


4
您需要交互式编辑吗?由于这么大的文件超出了人脑的处理能力,也许您可​​以从文件中取出一些碎片并加以处理?还是使用sed / perl / python /任何将适当的更改应用于流,然后将文件输入其中?
杰伊·科米尼克

1
这是非常好的一点。它实际上是一个XML文件,我只想了解其结构。
John Topley

Vim还可以使用多种语言进行折叠,但是不确定它是否支持XML。有什么
值得

4
在具有16GB的Haswell Core i7 iMac和运行Mavericks的SSD上的> 5gb日志文件: TextMate:打开一个空的一行名称正确的文件,然后坐在那里什么也不做。我等待了将近一个小时才开始使用它。TextWrangler和BBEdit:立即错误。Sublime Text 2:进度条持续9分钟,然后再旋转2分钟,再完善控制台:一次仅16MB。无法一次查看,滚动或搜索整个文件。
JakeRobb

5
酥脆:让我注册后才能下载试用版。Booooo。没有评价。XCode:纺车五分钟;滚动是可以的,但是编辑和搜索却很糟糕。MacVim:打开一个空白的白色窗口。没有纺车。30秒后,文件打开。搜索,编辑和滚动都非常出色。 结论:根据您的优先次序,我将Sublime Text 2或MacVim夺冠。
JakeRobb

Answers:


68

您尝试过Vim吗?这是我使用的唯一编辑器:-)

编辑:这似乎取决于几个因素。我将Vim与大型CSV(即基于文本)文件一起使用,效果很好。YMMV :-)


4
如果Vim能够真正处理数百兆字节的文件,那么我会对此表示敬意。我知道emacs在巨大的文件上会窒息。
亚当·罗森菲尔德2009年

我经常在非常大的日志文件上使用它。它只会加载所需的内容。现在,在每一行上执行一些有趣的数据操作可能需要一段时间;-)
Topher Fangio

5
Vim对我来说就像是一种魅力,因此感谢您的建议。BBEdit仅阻塞了78 MB的文件,VIM在几秒钟内打开了它:)
Katy

1
FWIW我刚刚在MacBook Pro的vim中打开了一个4GB的SQL转储文件。它花了一分钟才打开,但是可以用...
gtd 2010年

1
只是一个评论-巨大的VIM粉丝,但尝试使用标准VIM在Mac(MacVim)和ubuntu上打开3 GB的文件,这需要很长时间!
SilentSteel 2014年

30

如您所说,如果只需要真正了解结构,请尝试在Console中打开文档。信不信由你,我能够查看最大15GB的文件(MAC OSX 10.7.2)


1
刚刚尝试过,它非常适合在Mac上查看大文件。它看起来像是用于查看日志的,所以必须学习一些用法,但是在查看大文件时非常有效。谢谢!
罗伯特·贝尔特兰2014年

1
我只是用大约10秒钟打开了一个2.4GB的文本文件。完善!!!不能推荐这个。
Charlie74

谢谢!刚刚打开了一个16.95gb xml doc文件。
Daniel Ran Lehmann

8
控制台仅能打开最后16 MB,这就是为什么它看起来很快的原因!请注意Size: 8,7 GB (Showing last 16,8 MB)状态栏中的。
托马什卡夫卡

1
正确,托马斯。大家好,小世界。)
佐尔坦

26

HexFiend旨在读取任何大小的文件,但您需要使用固定列字符换行并且不进行换行检测。


4
据我所知,HexFiend很容易成为读取此类文件最快的文件之一(在3秒钟内打开了5gb sql dump文件),但这并不是真正意义上的编辑。或者,菜单似乎没有暗示它。除非你不知道?
Groxx 2012年

这对我有用-即使在Vim失败之后。
布莱尔

HexFiend在1-2秒内打开了一个6gb json文件,
不费吹灰之力


18

如果你只是想有结构的想法,怎么样用浏览更多更少


1
很好的建议:如果只需要阅读内容,则比vi效率更高。
亚瑟·鲁特瑙尔

11

绝对是vim就是答案。macvim(Mac版本)。


您能解释一下vim的工作原理吗?对我来说,它仅显示文件的顶部或底部,并且不响应上下移动箭头或单击...
PatrickT

7

BBEdit是旧的备用数据库,以处理大文件而闻名(至少,它早于TextMate之前的时代)。有一个免费版本TextWranger;我认为它基于相同的内核,并且仍然可以正常工作。


3
我尝试使用TextWrangler,不幸的是它使文件窒息。
约翰·托普利

1
最新的BBEdit在我的4GB文件上崩溃了。我通常将其用于数百兆文件,但显然无法处理GB大小的文件。
gtd

4
TextWrangler和BBEdit可以编辑最大384MB的任何文件。此限制是因为它们将整个文件存储在RAM中,并且已对其进行unicode加密,因此效率不是很高。我最近使用split -b 300m foo.xml了一个巨大的XML文件,TextWrangler花了几秒钟将其打开,但随后功能全面,甚至语法高亮。
Abhi Beckert

3
@AbhiBeckert编码,你的意思是说编码
jcollum

4

我已使用gvim大于1 GB NASTRAN输出的文件。 gvim处理大文件非常好。实际上,这是我从Emacs转为vim的主要原因。

Emacs是一个很棒的编辑器,但它只能处理最大128 MB(至少32位版本)的文件。如果决定使用Emacs,建议将其配置为关闭大文件语法高亮显示。

处理大文件的那些日子里,另一种方式是大量使用headtailsplit


3

OS X上的本机emacs现在似乎是64位版本。在我的250MB文本文件上,它像一个超级按钮一样工作。


2

Vim已经被推荐。如果您使用的是vim,则可能还需要使用LargeFile插件(由独特的Charles“ Dr Chip” Campbell制作),该插件会出于速度的考虑而自动禁用vim的各种功能,以确保速度超过100Mb(默认设置)。


1

emacs自然至少是64位版本(您现在可以在OS X上完成,对吧?)

而且,这些肯定是生成的文件。您真的需要一次与他们互动吗?


据我所知,Emacs最多只能处理128 MB。不确定约64个版本。
路德维希·威尼泽尔2009年

是的,对32位的128mb限制。我应该仔细检查一下OS X上的64位版本,因为在某些方面对64位很有趣
simon

1

由于您在注释中指出它实际上是XML文件,并且只想了解其结构,因此您可能想要查看Oxygen的LargeFileViewer,它是与Oxygen XML Editor捆绑在一起的帮助程序。(我不知道它可能也随作者一起提供。)



-3

编辑:不要使用Sublime Text 2!尽管它对我有用,但对于其他许多用户而言,Sublime Text 2显然无法处理大型文本文件。以下是我的原始答案:


Mac 10.6.8的Sublime Text 2为我打开了200 MB的文件,没有任何问题


8
刚刚尝试了180MB SQL文件。打开文件几分钟,尝试将整个文件加载到内存中。不好
JaakL 2012年

如果您要编码180MB的SQL文件,我认为您可能“做错了”。(哦,这是出口吗?好吧,那么我原谅你)
不同步的2014年

在大型文件上执行查找和替换时,Sublime Text 3基本上会挂起。
Alex

非常出色的文本编辑器,但功能不强。
A.Krueger '16

我一直对我的答案获得负面反馈,并且我相信所有对此答案不满意的人都认为我的答案不适合其用例。实际上,也许我的答案唯一正确的用例是我的用例:-)。我正在考虑该怎么办?我应该删除此答案并获得一些积分回馈我的声誉吗?我已决定保留此答案-作为对未来读者的警告。不要使用SUBLIME TEXT 2!对于大多数用户来说似乎并不好。
gardenofwine
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.