Thanks Tony, A.J.Mechelynck wrote: > Keeping things around is one thing, keeping them in memory is another. By > using ":set hidden" you _tell_ Vim to keep in memory the _whole data_ of every > single buffer you visited during the current session, which IMHO is a little > overdoing it. By setting 'nohidden' (and 'autowriteall' if, like me, you want > to be able to close a window without a cry for unsaved data) you'll keep in > memory only the data of the buffers currently displayed in a window, and a few > bits of info (such as last cursor location etc.) for other buffers. The data > itself would be where it belongs -- on disk, from where it can be reloaded in > a twinkling of an eye if you happen to re-edit some file you've already edited > in the current session. Or is all your "large code base" on diskettes
I agree that it's a little extreme keeping it all around, but I like having the undo buffers for files I've closed recently kept around. This is either because I accidentally close the last tab containing that file, or because I have marks set in files which I use regularly. I should note that the memory use of vim does still grow constantly (and apparently unboundedly) even without opening new buffers, with '-u NONE', 'nohidden', and 'history=1'. I'm not sure if the code base is actually large, but 8,000 source files certainly seems pretty hefty to me. And thankfully no, our it isn't on diskettes :) Max