Как закрыть вкладки вправо с помощью vimperator?

Я использую Firefox, и установлен vimperator. Это здорово, но я не могу найти способ закрыть вкладки вправо с помощью горячих клавиш. Не могли бы вы сказать мне, как это сделать? Благодарю.

2 ответа

Решение

Закрыть все направо / налево.

Поместите следующий код в свой .vimperatorrc файл. Определяет команды :closealltoright а также :closealltoleft а также привязки v> и v< соответственно. Измените привязки по желанию в строках, начинающих "отображать" снизу.

js <<EOF

closeAllToRight = function () {
    var current = tabs.getTab();
    var currentIx = tabs.index(current);
    var nexttab = current.nextElementSibling;
    var N = tabs.count;
    var numToClose = N - (currentIx + 1);
    tabs.remove(nexttab, numToClose);
}

closeAllToLeft = function () {
    var current = tabs.getTab();
    var currentIx = tabs.index(current);
    var firsttab = tabs.getTab(0);
    var N = tabs.count;
    var numToClose = currentIx;
    tabs.remove(firsttab, numToClose);
}

EOF

" close tabs to left
map v< :js closeAllToLeft()<CR>
" close tabs to right
map v> :js closeAllToRight()<CR>

command! closealltoright :js closeAllToRight()
command! closealltoleft :js closeAllToLeft()

Я загрузил эти две команды как Gist.


Пентадактильная версия.

command! closetabstoleft
    \ -description "Close all tabs to the left of the current tab"
    \ -js
    \ var firstTab = tabs.getTab(0);
    \ var numToClose = tabs.getTab().dactylOrdinal - 1;
    \ tabs.remove(firstTab, numToClose);
command! closetabstoright
    \ -description "Close all tabs to the right of the current tab"
    \ -js
    \ tabIndex = tabs.getTab().dactylOrdinal - 1;
    \ var nextTabIndex = tabIndex + 1;
    \ var firstTab = tabs.getTab(nextTabIndex);
    \ var N = tabs.allTabs.length;
    \ var numToClose = N - nextTabIndex;
    \ tabs.remove(firstTab, numToClose);

map v< -ex closetabstoleft
map v> -ex closetabstoright

Я поместил их в сущность для удобства.

Другие команды вкладок можно найти в моей папке Pentadactyl (команды и привязки находятся в .pentadactylrc, но может полагаться на функции, определенные в utils.js).

Добавлять map <your_key_binding> gt :bd -s left<CR> к вашему vimperatorrc.

Объяснение:

gt переключается на следующую правую вкладку, :bd -s left удаляет эту вкладку и после этого переключается на левую вкладку.

Другие вопросы по тегам