10
  • I am Vim fan for most of my editing purposes.
  • But these days when I have to open huge file ~1-2 gigs, its is vert slow to load and perform operations
  • What are the other ways I can edit such huge files efficiently
4
  • 2
    Turn off syntax can make vim run a little faster.
    – ajreal
    Dec 2, 2011 at 18:10
  • In my experience loading a big file like that takes some time, but once it is loaded Vim is actually pretty fast. Dec 2, 2011 at 18:15
  • You can always use sed.
    – user49531
    Dec 2, 2011 at 18:43
  • 1
    Duplicate of stackoverflow.com/questions/159521/…
    – MetaEd
    Dec 2, 2011 at 18:54

6 Answers 6

6

vim you can

:set binary

first.

or use hexedit. as https://stackoverflow.com/questions/699785/edit-very-large-sql-dump-text-file-on-linux

3

Set

:syntax off
:se binary nospell 
:setgl noswap
:set undolevel=0
:set undofile=

You can also use directory/undodir to put swapfiles and undofiles in another location

2

Look here: https://askubuntu.com/questions/28847/text-editor-to-open-4-3-gb-plain-text-file

  • Divide the file in parts : split -b 53750k <your-file>
  • Edit sigle parts with vim ( I don't like it but it works fast here )
  • Merge the parts cat xa* > <your-file>

Done :)

Sorry but free editor larks good support for big files ( cannot find a reason for that )

p.s.
learn Vim is not so difficult: http://yannesposito.com/Scratch/en/blog/Learn-Vim-Progressively/

1
  • 1
    I had to change the merge command a little bit since I had such a large file that after xaz came xba so xa* would have left out the ones starting with xb. I didn't have any other files starting with x in the same directory so I just used x*. Just in case someone runs into any issues using these commands.
    – Cvuorinen
    Aug 7, 2013 at 7:29
1

This article explains what you can do to Vim itself to reduce the overhead associated with opening a large file.

0

See my answer here (not vim specific).

What kind of huge file do you want to edit?

4
  • text file, is that you want to know?
    – daydreamer
    Dec 2, 2011 at 18:17
  • No, more precisely: a log file, a mysql dump, a big generated assembly code, ...? Dec 2, 2011 at 18:18
  • a log file is that
    – daydreamer
    Dec 2, 2011 at 18:18
  • Then my answer applies very well: just csplit your log file into manageable pieces, edit them with your favorite editor, and rebuild the log file. Or develop your own editing scripts (perhaps with sed)... Dec 2, 2011 at 18:21
0

Try joe. I just used it to edit a ~5G SQL dump file. It took about a minute to open the file and a few minutes to save it, with very little use of swap (on a system with 4G RAM).

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

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