নীচে সংজ্ঞায়িত দুটি কমান্ড সমস্ত বাফারকে ডান হাতের ট্যাব থেকে বর্তমান ট্যাবে নিয়ে যায় এবং তারপরে ডান হাতের ট্যাবটি বন্ধ করে দেয়। Mtabsp
অনুভূমিকভাবে Mtabvsp
বিভক্ত হয়ে এগুলি সরানো হয় এবং উল্লম্বভাবে বিভাজিত হয়। কমান্ডগুলি ব্যবহার করার আগে আপনাকে মার্জড ট্যাবটি সরানো দরকার। ব্যবহার করুন +tabm
, -tabm
বা <n>tabm
।
সেটআপ
নীচে ভিএম স্ক্রিপ্টটি আপনার যুক্ত করুন 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)
প্রযুক্তিগত বিবরণ
ফাংশন Mtab একটি পরামিতি গ্রহণ করে vert
। এটি নির্ধারণ করে যে বর্তমান ট্যাব অনুভূমিকভাবে বা উলম্বভাবে বিভক্ত কিনা।
নিম্নলিখিত পদক্ষেপগুলি দ্বারা কাঙ্ক্ষিত ফলাফল অর্জন করা হয়:
- আমরা সাময়িকভাবে পরবর্তী ট্যাবে চলেছি
- এর ট্যাব নম্বর এবং বাফারগুলি উল্লেখ করতে দুটি ভেরিয়েবল ব্যবহার করুন
- বর্তমান ট্যাবে ফিরে আসুন
- আমরা ট্যাবটি বিভক্ত করে প্রতিটি বাফার খুলি
- শেষ পর্যন্ত, আমরা ডান হাতের ট্যাবটি বন্ধ করি
যদি আমাদের বর্তমান ট্যাব শেষ হয়, আদেশগুলি উপেক্ষা করা হবে।