Probably not quite the answer you're looking for, but there's another way of thinking about tabs in vim that will help with your problem.
You can think of each tab as a 'view' into your workspace (equivalent to something like a perspective in an IDE like eclipse), and the buffer list as what would normally be tabs in other programs.
That way you can have one tab for 'single editor with NERDTree open', one tab for 'large editor', one tab for 'vertical split editor' etc, and each tab may or may not have the same buffers open.
That way you can just stick with your single layout, and use :bnext
and :bprev
to switch buffers sequentially along the list, or :b <approxname>
to jump to a named buffer easily. If you get the unimpaired plugin, the mappings ]b
and [b
are also defined that map to :bnext
and :bprev
for easy access. The fuzzyfinder plugin also has a :FufBuffer command that lets you easily jump to an open buffer (and then either open, split open or tab open at the press of a key once you've found it with some really intuitive default bindings).
I'm a huge fan of vimcasts, and this episode has a bit more detail of the general idea I'm talking about here.