ฉันสงสัยว่ามีวิธีปิดแท็บทั้งหมดทางด้านขวาของแท็บปัจจุบันหรือไม่ กล่าวคือ
-----|active|-----|-----|------|
และหลังจากนั้นให้พูดว่า:
: tabcright
-----|active
ขอบคุณ! เปโดร
ฉันสงสัยว่ามีวิธีปิดแท็บทั้งหมดทางด้านขวาของแท็บปัจจุบันหรือไม่ กล่าวคือ
-----|active|-----|-----|------|
และหลังจากนั้นให้พูดว่า:
: tabcright
-----|active
ขอบคุณ! เปโดร
คำตอบ:
ไม่มีคำสั่งพื้นฐานสำหรับสิ่งนี้ แต่คุณสามารถสร้างสคริปต์ Vim ของคุณเองได้อย่างง่ายดาย นี่คือตัวอย่างพื้นฐานที่ให้คุณปิดแท็บทางด้านขวาของแท็บปัจจุบันและแท็บทางด้านซ้าย:
function! TabCloseRight(bang)
let cur=tabpagenr()
while cur < tabpagenr('$')
exe 'tabclose' . a:bang . ' ' . (cur + 1)
endwhile
endfunction
function! TabCloseLeft(bang)
while tabpagenr() > 1
exe 'tabclose' . a:bang . ' 1'
endwhile
endfunction
command! -bang Tabcloseright call TabCloseRight('<bang>')
command! -bang Tabcloseleft call TabCloseLeft('<bang>')
รุ่นที่ได้รับการปรับปรุงเล็กน้อยของคำตอบของ davidxk ที่ทำงานกับหลาย ๆ การแยกต่อแท็บ:
:.+1,$tabdo :tabc
คุณสามารถใช้tabdo
คำสั่งที่ช่วยให้คุณเรียกใช้คำสั่งในช่วงของแท็บ
:.+1,$tabdo :q
คุณสามารถวางสิ่งนี้ไว้ใน vimrc ของคุณเพื่อที่คุณจะได้ไม่ต้องจำรายละเอียดของคำสั่งนี้ คุณสามารถทำสิ่งที่ชอบ:
command -nargs=0 Tabr :.+1,$tabdo :q