Aşağıda tanımlanan iki komut, tüm arabellekleri sağ taraftaki sekmeden geçerli sekmeye taşır ve ardından sağ taraftaki sekmeyi kapatır. Mtabsp
yatay olarak Mtabvsp
bölerek dikey olarak böler. Komutları kullanmadan önce birleştirilmiş sekmeyi taşımanız gerekir. Kullanın +tabm
, -tabm
ya da <n>tabm
.
Kurmak
Aşağıdaki vim betiğini kendinize ekleyin vimrc
:
function! Mtab(vert)
if tabpagenr() == tabpagenr("$")
return 0
endif
+tabnext
let s:killed_tab = tabpagenr()
let s:buf_list = tabpagebuflist()
-tabnext
for item in s:buf_list
if a:vert
vsp
else
sp
endif
execute "buf " . item
endfor
execute "tabclose " . s:killed_tab
endfunction
command! Mtabsp call Mtab(0)
command! Mtabvsp call Mtab(1)
Teknik detaylar
Mtab işlevi bir parametre alır vert
. Geçerli sekmenin yatay mı yoksa dikey mi bölüneceğini belirler.
İstenilen sonuç aşağıdaki adımlarla elde edilir:
- Geçici olarak bir sonraki sekmeye geçiyoruz
- Sekme numarasını ve arabelleğe başvurmak için iki değişken kullanın
- Geçerli sekmeye dön
- Sekmeyi ayırıyoruz ve her arabelleği açıyoruz
- Son olarak, sağ taraftaki sekmeyi kapatıyoruz
Geçerli sekmemiz sonsa, komutlar yok sayılır.