Expertus metuit
Переключение между недавними табами в Chrome через Ctrl+Tab
Опубликовано 2021-12-23 в 19:27

В Google Chrome переключение между табами по Ctrl+Tab всегда происходит по порядку следования табов. То есть нажатие на Ctrl+Tab всегда переключает на следующий по порядку таб, а Ctrl+Shift+Tab — на предыдущий. Это чрезвычайно неудобно, если приходится быстро и часто переключаться между несколькими табами, которые находятся в разных местах. Такая фича называется Most recently used switch (MRU Switch). В других браузерах такое поведение включается штатным образом через настройки, но не в chrome. Есть даже очень старая задача из трекера на эту тему, но она была без всяких комментариев закрыта гуглом несмотря на сотни комментариев.

Раньше было можно изменить поведение через расширения, но Google и эту возможность заблокировал, причём именно для сочетания Ctrl+Tab, внятного объяснения тоже не последовало.

Способ 1, через расширение QuicKey

Однако пользователи нашли способ. В chrome web store есть расширение QuicKey и в нём описана возможность включить MRU Switch через хак девелоперской консоли.

Для начала устанавливаем расширение со страницы в каталоге: https://chrome.google.com/webstore/detail/quickey-%E2%80%93-the-quick-tab-s/ldlghkoiihaelfnggonhjnfiabmaficg/related?hl=en. У этого расширения есть и другая функциональность по улучшению работы с табами, но в рамках этой статьи они нам не интересны.

Как настроить Ctrl+Tab, написано на сайте расширения: https://fwextensions.github.io/QuicKey/ctrl-tab/. Это делается через консоль разработчика на странице настроек клавиатурных сочетаний. Сначала открываем эту страницу, её адрес: chrome://extensions/shortcuts, скопируйте его, откройте новый таб, вставьте и нажмите Enter.

Дальше нужно открыть консоль разработчика для этой страницы, переключитесь на неё и нажмите Ctrl+Shift+J (для Windows или Linux) или Command-Option-J (⌘+⌥+j для macos). Откроется окно, в котором нужно выбрать закладку Console.

И дальше два варианта.

Вариант 1: Ctrl+Tab переключает только между двумя текущей и предыдущей вкладками.

Скопируйте этот кусок кода и выполните его в закладке Console (то есть вставьте и нажмите Enter):

chrome.developerPrivate.updateExtensionCommand({
    extensionId: "ldlghkoiihaelfnggonhjnfiabmaficg",
    commandName: "30-toggle-recent-tabs",
    keybinding: "Ctrl+Tab"
});

Вариант 2: Ctrl+Tab переключает между несколькими недавними вкладками при быстром последовательном нажатии

Скопируйте этот кусок кода и выполните его в закладке Console (то есть вставьте и нажмите Enter):

chrome.developerPrivate.updateExtensionCommand({
    extensionId: "ldlghkoiihaelfnggonhjnfiabmaficg",
    commandName: "1-previous-tab",
    keybinding: "Ctrl+Tab"
});
chrome.developerPrivate.updateExtensionCommand({
    extensionId: "ldlghkoiihaelfnggonhjnfiabmaficg",
    commandName: "2-next-tab",
    keybinding: "Ctrl+Shift+Tab"
});

После установки расширения ему нужно некоторое время, чтобы собрать информацию обо всех табах, чтобы корректно перключаться, поэтому поначалу могут быть небольшие проблемы.

Способ 2, через расширение MRU tabs switch

Второй вариант через расширение Switch between recent tabs (MRU tabs switch), по умолчанию оно работает через хоткей Alt+Q, однако правкой конфига можно переназначить на Ctrl+Tab.

Я в итоге остановился на втором способе.

Комментарии

Гость: Алекс | 2024-04-25 в 22:23

"однако правкой конфига можно переназначить на Ctrl+Tab" - какого конфига? куда лезть, в какие файлы?

Sergey Stolyarov | 2024-04-26 в 00:01

На странице расширения по ссылке всё написано.

Гость: al | 2022-11-23 в 23:59

Спасибо большое

Гость: Arina | 2023-02-02 в 18:57

Огромное спасибо, очень помогло!

Текст комментария (допустимая разметка: *курсив*, **полужирная**, [ссылка](http://example.com) или <http://example.com>) Посетители-анонимы, обратите внимение, что более чем одна гиперссылка в тексте (включая оную из поля «веб-сайт») приведёт к блокировке комментария для модерации. Зайдите на сайта с использованием аккаунта на twitter, например, чтобы посылать комментарии без этого ограничения.
Имя (обязательно, 50 символов или меньше)
Опциональный email, на который получать ответы (не будет опубликован)
Веб-сайт
© 2006—2024 Sergey Stolyarov | Работает на pyrengine