- 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
6 Answers
vim you can
:set binary
first.
or use hexedit. as https://stackoverflow.com/questions/699785/edit-very-large-sql-dump-text-file-on-linux
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
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/
-
1I 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. Aug 7, 2013 at 7:29
This article explains what you can do to Vim itself to reduce the overhead associated with opening a large file.
See my answer here (not vim specific).
What kind of huge file do you want to edit?
-
-
No, more precisely: a log file, a mysql dump, a big generated assembly code, ...? 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 withsed
)... Dec 2, 2011 at 18:21
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).
sed
.