If you are a Vim user, what is the most important feature of Vim to you?

For me, it’s the buffers. No, it’s no unique to Vim, many text editors has buffers concept, but when I came to think about the most important feature of Vim, I think I have go with buffers.

I actually only learned about it after I extensively used tabs and splits. I learned it from Derek Wyatt’s video a few years ago, Working with Many Files (Screencast 1).

http://i.vimeocdn.com/video/23401236_960.jpg

It was like a mind-blowing moment when I saw how it works and I didn’t have to have tab list squashed like a can of sardines. Upon of learning of buffers and <Leader>, I immediately bound these keymaps:

" Buffers
nmap <Leader>ls :ls<CR>
nmap <Leader>bp :bp<CR>
nmap <Leader>bn :bn<CR>
nmap <Leader>bw :bw<CR>

Tabs are like 1-dimension of columns, and buffers are 1-dimension of rows, but tabs are more physically as you can see them in tab list, but buffers are in virtual space, you don’t see them all, just the current buffer. Some people might not like that, but I do. Splits are another concept, a physical 2-dimension if you will, but that’s another story.

After I learned and got used to buffers, I hardly used splits and tabs anymore. For me, use of buffers is more efficient and cleaner for the Vim workspace. You can only edit one file at a time, you don’t really need splits, at least not all the time.

By the way, you might want to set hidden.

If you are an Emacs user, what do you love the most about it? Discussions here.