Vim: закрыть все вкладки справа

мне было интересно, если есть способ закрыть все вкладки справа от текущей вкладки. т. е.


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

и после, скажем:

:tabcright


-----|active

спасибо!
Педро

10
задан droope
12.04.2023 17:28 Количество просмотров материала 2838
Распечатать страницу

3 ответа

для этого не существует собственных команд, но вы можете легко создать свои собственные с помощью 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>')
11
отвечен Heptite 2023-04-14 01:16

можно использовать tabdo команда, позволяющая выполнять команду на нескольких вкладках.

:.+1,$tabdo :q

вы также можете поместить это в свой vimrc, чтобы вам не пришлось запоминать детали этой команды. Вы можете сделать что-то вроде:

command -nargs=0 Tabr :.+1,$tabdo :q
2
отвечен davidxk 2023-04-14 03:33

немного улучшенная версия ответа davidxk, которая работает с несколькими разделениями на вкладку:

:.+1,$tabdo :tabc
1
отвечен valk 2023-04-14 05:50

Постоянная ссылка на данную страницу: [ Скопировать ссылку | Сгенерировать QR-код ]

Ваш ответ

Опубликуйте как Гость или авторизуйтесь

Имя
Вверх