skeletalmonkey
skeletalmonkey

Reputation: 736

Opening a window in a horizontal split of a vertical split

I want have both NERDTree and TagList open at the same time, but I don't need for them to have the whole height of the screen. Instead I would like to have them split horizontally within a single vertical split.

More specifically, I want to be able to open one, say NERDTree, and have it take up the full height of the screen. Then when I open TagList, to have it horizontally split with the already open NERDTree window.

Is there a way to do this? Possibly even a non 'specific to these two plugins' way?

Upvotes: 8

Views: 6882

Answers (3)

pedorro
pedorro

Reputation: 3327

I've posted a solution in a duplicate post here: NERDTree & TList in

It involves editing the 'taglist.vim' script a bit to add a new split option when opening.

Upvotes: 1

Mohammed
Mohammed

Reputation: 1052

NERDTree and Taglist aren't going to open inside splits.

Let's say you have a split buffer on the left (for eg. source code), and Taglist on the right.

You can put this in a function, and invoke it with a mapping:

NERDTree    " open NERDTree
wincmd J    " move NERDTree to the very bottom
wincmd k    " move the cursor to the above split (the source code buffer)
wincmd H    " move the split to the very left
wincmd l    " move the cursor back to the NERDTree split
resize 20   " resize the split height to 20
exe 'vertical resize ' . g:NERDTreeWinSize    " reset the split width

This is pretty dodgy, but it works. You'll see a brief visual glitch while the split jumps around the screen.

Upvotes: 8

Heisenbug
Heisenbug

Reputation: 39164

Horizontal split:

:split 

Vertical split:

:vsplit

Then when you have split your screen how you prefer, open nerdtree inside the desired frame. (Or you can use abbreviation :sp :vsp like suggested by @Vivek Pandey).

Upvotes: 1

Related Questions