Vimの隣のタブを分割として現在のウィンドウに移動する簡単な方法はありますか?隣接するタブを分割して移動しますか?
周りを見ながら私は誰かがTソリューションを提供することなく、それは W操作はCtrl + の逆だと述べているメーリングリストの議論に達しました。
Vimの隣のタブを分割として現在のウィンドウに移動する簡単な方法はありますか?隣接するタブを分割して移動しますか?
周りを見ながら私は誰かがTソリューションを提供することなく、それは W操作はCtrl + の逆だと述べているメーリングリストの議論に達しました。
私は2つの解決策を提供しています。私は最初に自分自身をチェックしました。私はそれが動作することを保証できます。第二に、私はすぐに試しています。
最初の解決策:このプラグインhttp://www.vim.org/scripts/script.php?script_id=1961をインストールするには、単に~/.vim/plugin
というフォルダを作成し、Tabmerge.vim
というファイルをダウンロードするだけです。その後、次の2つのタブがあり、
:Tabmerge
を入力するときは、水平方向に分割さとtop
が整列、一つに2つのタブがマージされます。リンクを参照して、完全な使用方法のガイドを見つけてください。
または、このページhttp://vim.wikia.com/wiki/Move_current_window_between_tabsで、タブ間で現在のウィンドウを移動する2つの機能のコードを確認してください。ここでは(私はまだ試していない)機能:
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
あなたの問題の問題は、タブは、特定のバッファに縛られないことです。あるタブに10個のウィンドウを持つことができますので、「タブを分割に移動する」ことはあまり意味がありません。より理にかなって何
はtabmergeが私のニーズに十分だった、
:sb <name_of_buffer>
おかげで行うことができる「分割にショーのバッファx」です。 – mhitza
第2の選択肢は私の方が優れていました。 通常のモードでは 'mt'と' mT'にマップしました。なぜなら、タブを移動するために使用する 'gt'と' gT'と一貫しているからです。また、私はそのページに示されている垂直方向の分割方法を使用しました( 'sp'の代わりに' tople topleft split')。 –