2 comments

[ 3.2 ms ] story [ 14.1 ms ] thread
As someone who has recently switched to vim full-time, this was illuminating to me.

To anyone who uses buffers over tabs, a la OP, what commands/remaps do you prefer for manipulation of buffers?

Tab pages have their use, as temporary workspaces, but they can't be tied to the usual 1 tab = 1 file paradigm without seriously handicapping your workflow. That's why we usually insist on using buffers instead of tabs as file proxies not on using buffers instead of tabs.

An important thing to consider is that windows are an abstraction built on top of buffers and tab pages are an abstraction built on top of windows. Each level adds some flexibility to the user experience but it comes at a price: you get tied to that abstraction level's commands and "worldview" so to speak.

I don't use any buffer-management plugin because buffers are not hard enough to deal with but I do have a few mappings:

    nnoremap ,b :buffer <C-z><S-Tab>
    nnoremap ,B :sbuffer <C-z><S-Tab>

    nnoremap gb :ls<CR>:buffer<Space>
    nnoremap gB :ls<CR>:sbuffer<Space>

    nnoremap <PageUp>   :bprevious<CR>
    nnoremap <PageDown> :bnext<CR>