Как закрыть вкладки вправо с помощью 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
удаляет эту вкладку и после этого переключается на левую вкладку.