เป็นกลุ่ม: ปิดแท็บทั้งหมดไปทางขวา


12

ฉันสงสัยว่ามีวิธีปิดแท็บทั้งหมดทางด้านขวาของแท็บปัจจุบันหรือไม่ กล่าวคือ

-----|active|-----|-----|------|

และหลังจากนั้นให้พูดว่า:

: tabcright

-----|active

ขอบคุณ! เปโดร

คำตอบ:


12

ไม่มีคำสั่งพื้นฐานสำหรับสิ่งนี้ แต่คุณสามารถสร้างสคริปต์ 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>')

5

รุ่นที่ได้รับการปรับปรุงเล็กน้อยของคำตอบของ davidxk ที่ทำงานกับหลาย ๆ การแยกต่อแท็บ:

:.+1,$tabdo :tabc

4

คุณสามารถใช้tabdoคำสั่งที่ช่วยให้คุณเรียกใช้คำสั่งในช่วงของแท็บ

:.+1,$tabdo :q

คุณสามารถวางสิ่งนี้ไว้ใน vimrc ของคุณเพื่อที่คุณจะได้ไม่ต้องจำรายละเอียดของคำสั่งนี้ คุณสามารถทำสิ่งที่ชอบ:

command -nargs=0 Tabr :.+1,$tabdo :q
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.