How about using more GNU screen
or tmux
? Just windows in vim won't help you much, same for just using more consoles.
With screen you can save sessions, as well in vim with :mks
.
And in vim rebind ctrl+w,h/j/k/l
to just ctrl+h/j/k/l
! Also shortcuts for maximizing vertically, maximising horizontally and making all windows equally sized help. For resizing I also have shortcuts, but mostly I work with fullsizing/resizing all, window management is not the best feature of vim, without a mouse it is even worse.
Excerpt from my .vimrc
:
" WINDOW MANAGEMENT SETTINGS
"moving from window to window
nnoremap <C-h> <C-w>h
nnoremap <C-j> <C-w>j
nnoremap <C-k> <C-w>k
nnoremap <C-l> <C-w>l
"open new blank file
nnoremap o<C-h> :lefta vsp new<cr>
nnoremap o<C-j> :bel sp new<cr>
nnoremap o<C-k> :abo sp new<cr>
nnoremap o<C-l> :rightb vsp new<cr>
"move window
nnoremap <Leader><C-h> <C-W>H
nnoremap <Leader><C-j> <C-W>J
nnoremap <Leader><C-k> <C-W>K
nnoremap <Leader><C-l> <C-W>L
"maximise horizontally
map <Leader>= <C-w><Bar>
"maximise vertically
map <Leader>- <C-w>_
"make all windows equally sized
map <Leader><Leader> <C-w>=
"change windowsizes in visual mode
"horizontally - always three chars else it takes ages
vnoremap - 3<C-w><
vnoremap = 3<C-w>>
"vertically - always three chars else it takes ages
vnoremap _ 3<C-w>-
vnoremap + 3<C-w>+
"moving from window to window in visual mode
"that way you can move from window to window and resize with -,=,_,+ directly as needed
vnoremap <C-h> <ESC><C-w>hv
vnoremap <C-j> <ESC><C-w>jv
vnoremap <C-k> <ESC><C-w>kv
vnoremap <C-l> <ESC><C-w>lv
For NERDtree I show the window and close it again. Since something is bugged with it, I open it and resize it to a fixed width automatically:
nnoremap <Leader><CR> :NERDTreeFind<CR>999<C-w><40<C-w>>010l