Take the 2-minute tour ×
Unix & Linux Stack Exchange is a question and answer site for users of Linux, FreeBSD and other Un*x-like operating systems.. It's 100% free, no registration required.

Can anyone recommend a file editor, preferably free, that handles large files as well as EmEditor on Windows? I'm on Ubuntu, but other people reading this might not be, so suggestions for other Unix operating systems are welcome, too.

share|improve this question
    
I'm bumping this thread. Any more suggestions to choose from? Emacs appears to have O(n^2) or worse complexity when it comes to large files. Seek to the end and line insertion takes half a minute for files >500MB. I need an alternative. –  orion Mar 17 at 20:00
    
    
What platform (machine, operating system, version(s)) is this for? –  vonbrand Mar 19 at 19:07
1  
can you define size more accurately than "large" ? –  edvinas.me Mar 22 at 12:46
1  
@orion If you want to bump this 3 year old question, please edit it and specify your requirements. What's a large file for you? Does this still need to be GUI? What platform should it work on etc. By the way, I regularly use emacs to view large files. I just checked on a relatively small one (625M) and seeking to end took <1sec as did line insertion and whatever else. Saving took a few seconds (as in 5ish) but all else was responsive. That has always been my experience with emacs and I've used it for even larger files quite often. You might need to upgrade your emacs or hardware. –  terdon Mar 22 at 16:07

7 Answers 7

Just use gvim, it doesn't matter for large files, since the editor only reads limited lines to fill the screen, until you scroll down.

share|improve this answer
2  
That's not correct. Vim loads the entire file in, and writes the entire file out on a save. –  Alan Shutko Mar 18 at 22:07
    
It would be awesome if you could provide a link or source, @AlanShutko –  parasietje Mar 20 at 9:58
    
That would be nice. I can't find anything official, just lots of stuff referring to it, like vim.1045645.n5.nabble.com/…. –  Alan Shutko Mar 20 at 12:57
    
@AlanShutko - I'm finding anecdotal evidence that it can edit large files (3-4GB) just fine. So I'm thinking that it can edit at least these largish sized files. –  slm Mar 24 at 4:33
    
I'll have to try a 100GB file. 3-4GB isn't that big since most people have more memory than that. –  Alan Shutko Mar 24 at 13:46

In the unix environment there are two major editor you must consider:

  • vim
  • emacs

And for both there are plugins to improve very large files performance.

Give it a try, you won't be disappointed.

Regards, Marco.

share|improve this answer
    
Of course, for both you have got GUI's. –  periket2000 Mar 19 at 10:11
    
Why was this down-voted? Both tools handle large files very well. –  Cypher Mar 19 at 18:24
    
vlf seems to be read-only. Which makes it no better than less. –  orion Mar 22 at 15:25

Another editor to take a look at is hed.

excerpt

Hed is a free hexadecimal editor for POSIX systems designed to efficiently handle infinitely large files in conjunction with operations like inserting in the middle of the file.

Features

  • Very fast on very large files (keeps only necessary portion of the file in memory)
  • Fast inserting anywhere in the file
  • Fast saving of intermediate changes
  • vim-like controls (and exmode)
  • Powerful expressions concept for flexible searching and transformation operations on the file or a selected region

screenshot

    ss of hed

share|improve this answer
    
This is a very nice tool, adding it to my personal toolset ;) –  edvinas.me Mar 22 at 13:02

lfhex was written with this in mind. Despite the name, it can edit files in ASCII mode as well as hex.

lfhex is an application for viewing and editing files in hex, octal, binary, or ascii text. The main strength of lfhex is it's ability to work with files much larger than system memory (or address space for that matter!).

It uses a paging abstraction similar to EmEditor.

lfhex can view files over 4gigs in size (if the OS supports large file offsets). Using a paged i/o abstraction file open times are invariant with file size, a 2gig file opens just as fast as a 2k file.

It's available in the Ubuntu repos, and probably other distros as well.

share|improve this answer

In Unixland, the way to edit large files is mostly editing them as they stream by, e.g. with sed(1). Cygwin provides a Unix-like environment under Windows, including sed(1).

share|improve this answer
    
Oh god I didn't mean that :) I do use sed if I have a deterministic way of specifying exactly what to do. But sometimes I need an interactive editor for ASCII text. –  orion Mar 19 at 19:19

You can use Ultraedit (commercial software, for-pay). It can be configured to handle large files.

share|improve this answer
1  
While this link may answer the question, it is better to include the essential parts of the answer here and provide the link for reference. Link-only answers can become invalid if the linked page changes. –  X Tian Mar 21 at 9:08
    
Did I just see a "buy now" for linux software? The end is near... –  orion Mar 21 at 9:59
2  
@orion There is commercial software on Linux, sometimes very expensive. For specialized programs (like, say, Mathematica), this makes sense. For an editor, a domain where the free software world has plenty to offer, it is a bit ridiculous to suggest a commercial solution, but I think that this product nevertheless does answer the question. –  Gilles Mar 21 at 10:01

You can use Vim for Windows. It comes with both a Console and a GUI application which are extremely fast. The GUI is also highly configurable(also, available for x64 systems) and Ctag.exe improves the suggestion capability of Vim for windows. http://www.vim.org/download.php

share|improve this answer
    
This was already suggested by warl0ck, he said to use gvim. –  slm Mar 18 at 20:38

Your Answer

 
discard

By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.