विम: दाईं ओर सभी टैब बंद करें


12

मैं सोच रहा था कि क्या वर्तमान टैब के दाईं ओर सभी टैब बंद करने का एक तरीका है। अर्थात

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

और बाद में कहें:

: tabcright

-----|active

धन्यवाद! पेड्रो

जवाबों:


12

इसके लिए कोई भी देशी कमांड मौजूद नहीं है, लेकिन आप विम स्क्रिप्ट का उपयोग करके आसानी से अपना खुद का बना सकते हैं। यहां एक मूल उदाहरण है जो आपको टैब को चालू टैब के दाईं ओर और टैब को बाईं ओर बंद करने देता है:

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
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.