Use Tab to open a new split or jump to the existing one.
nnoremap <silent><Tab> :call MoveOrOpenSplit()<CR>
function! MoveOrOpenSplit() " {{{
let curNr = winnr()
wincmd w
if winnr() == curNr
exe 'vsplit'
wincmd w
endif
endfunction " }}}