Vim:右側のすべてのタブを閉じます


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.