Ответ 1
Я предлагаю два решения, первое, что я проверил, и я могу гарантировать его работу. Во-вторых, я стараюсь в ближайшее время.
Первое решение: установите этот плагин http://www.vim.org/scripts/script.php?script_id=1961, просто создав папку ~/.vim/plugin
и загрузив файл Tabmerge.vim
в папку. Затем, когда у вас есть две вкладки, и вы печатаете
:Tabmerge
вы объедините две вкладки в одну, разделенную по горизонтали и top
. Ознакомьтесь со ссылкой, чтобы найти полное руководство по использованию.
Кроме того, ознакомьтесь с этой страницей http://vim.wikia.com/wiki/Move_current_window_between_tabs для кода двух функций для перемещения текущего окна между вкладками. Здесь функции (которые я еще не пытался):
function MoveToPrevTab()
"there is only one window
if tabpagenr('$') == 1 && winnr('$') == 1
return
endif
"preparing new window
let l:tab_nr = tabpagenr('$')
let l:cur_buf = bufnr('%')
if tabpagenr() != 1
close!
if l:tab_nr == tabpagenr('$')
tabprev
endif
sp
else
close!
exe "0tabnew"
endif
"opening current buffer in new window
exe "b".l:cur_buf
endfunc
и
function MoveToNextTab()
"there is only one window
if tabpagenr('$') == 1 && winnr('$') == 1
return
endif
"preparing new window
let l:tab_nr = tabpagenr('$')
let l:cur_buf = bufnr('%')
if tabpagenr() < tab_nr
close!
if l:tab_nr == tabpagenr('$')
tabnext
endif
sp
else
close!
tabnew
endif
"opening current buffer in new window
exe "b".l:cur_buf
endfunc