Is it possible to create 2 tabs in VIM with separate buffers?
I mostly work on a website and sometimes I need to have 3 or 4 buffers displayed for the backend and 3 or 4 buffers for the interface at the same time. There are tabs here, but the buffers are mixed. I know I'm a bit fussy, but is there a way to create "collection" buffers from a tab? It can limit the number of open buffers per tab, and it will be easier to switch from one (buffer) to another.
source to share
Yes, you can have lists of local window arguments:
$ vim
:arglocal foo bar baz
:tabnew
:arglocal arthur robert charles
Now :args
the first tab should display:
[foo] bar baz
and on the second tab:
[arthur] robert charles
One potential problem with this approach is that you are holding back somehow for the argument-specific commands:
:n[ext]
:prev[ious] (or :N[ext])
:fir[st] (or :rew[ind])
:la[st]
:argl[ocal]
and commands specific to tabs:
:tabn[ext] (or gt)
:tabp[revious] (or :tabN[ext]) (or gT)
:tabfir[st] (or :tabr[ewind])
:tabl[ast]
which are not as flexible as the more general commands available if you only use the global argument list ( :b <tab>
, looping :bn/:bp
...).
However, you still have the option to search for the plugin on vim.org.
source to share
I use tabs quite extensively to work with different directories (sometimes 4+ tabs)
By combining a plugin like a CtrlP
team :lcd
, you can effectively have multiple workspaces (each with a different directory) with minimal mental retention.
The command :lcd
only changes the directory for the current window, so the way I use it is as follows.
- Open a new tab with
:tabnew
-
:lcd ~/somewhere/else
-
ctrl + p
(default binding forCtrlP
to open files in the current directory) and find the file you want to edit - switch between tabs with
:tn
and:tp
(obviously I have bindings for them since I switch a lot)
This way, basically each tab will have its own working directory and you use ctrl + p
to switch between files / buffers.
source to share