Хром для нёрдов (7)

Эта заметка чисто технического толка, почти инструкция. В ней я расскажу, как я научился использовать Google Chrome чуть более эффективно.

Нужна ли эффективность в браузере?

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

Стоит ли игра свеч? При быстрой работе в браузере я экономлю, скажем, 15 минут в день. Это примерно 6 рабочих дней в году. Ради ровно того же выигрыша во времени мы покупаем посудомоечные машины или выбираем жилье поближе к метро. Так что мне кажется, что стоит.

Я разделил заметку на несколько глав, каждая посвящена какому-то одному аспекту взаимодействия с браузером. Почти все, что применимо для Хрома, применимо и для других современных браузеров (как минимум на движке Chromium).

В последней главе я рассказываю как все это реализовать на macOS и Windows. Комбинации горячих клавиш (шорткатов) в этой заметке я буду писать на примере macOS. Поехали.

Вкладки и окна

С вкладками и окнами все достаточно очевидно: всю навигацию по ним быстрее всего делать шорткатами. Для работы с вкладками мне хватает всего 4 команды и еще 2 команды нужны для переключения между окнами. Чтобы не держать в голове тонну шорткатов для различных программ я унифицировал их между всеми часто используемыми инструментами, поэтому от использования дефолтных шорткатов Хрома пришлось почти полностью отказаться.

Мой текущий список выглядит примерно вот так:

Закрытие окна происходит само собой после закрытия последней вкладки с Cmd + Q, поэтому на это действие отдельный шорткат не нужен.

Для молниеносной навигации между вкладками пришлось отказаться от привычного сочетания Cmd + F для поиска, потому что поиском я пользуюсь значительно реже: я перенес его на другой шорткат и довольно быстро перестроился.

Шорткат переключения между несколькими окнами одной программы является стандартным функционалом macOS, а не командой Хрома. И кстати перемещение назад и вперед на macOS тоже реализовано по умолчанию с помощью жестов на тачпаде, поэтому шорткатами для этих целей я не пользуюсь.

Базовый функционал браузера

Я советую повесить на шорткаты и какой-то базовый функционал браузера. Я чаще всего использую всего 4 функции. Вот они с моими шорткатами:

Обновление страницы исторически всегда было F5 во всех браузерах, поэтому я оставил этот шорткат (понижение яркости клавиатуры с F5 мне не нужно). Инструменты разработчика я вызываю с функциональной клавишей, потому что F12 на Маке зарезервировано под повышение громкости.

Перемещения по сайтам

С навигацией между вкладками и базовыми функционалом браузера разобрались. Теперь надо научиться быстро переходить на нужные сайты. Я заметил, что большую часть времени работаю в одних и тех же сервисах, поэтому мне заранее известны их URL и я хотел бы попадать на них максимально быстро. Какое-то время я полагался на угадывание URL браузером по первым символам, но потом решил взять это в свои руки. Спустя несколько лет я не могу представить как я раньше жил без этого функционала.

Итак, я настроил буквенные сочетания (Хром называет их Shortcuts) для всех самых часто используемых сайтов: я просто ввожу 2-4 символа в поисковой строке и по клику Enter перехожу на заранее заданную страницу. Например, с помощью сочетания at я открываю Airtable, а с помощью git — список репозиториев компании на GitHub. Так я могу быть точно увереным, что с первого раза перейду именно туда, куда нужно, а не туда, где я чаще бывал до этого. И я больше никогда не буду искать ссылку на часто используемый сервис через Google.

Текстовые сочетания оказалось очень легко запомнить, если по смыслу связать их с названиями сервисов. Отдельно я зарезервировал сочетания для конкретных страниц и документов, которые использую чаще всего (например, документ с паспортными данными).

Очень удобным оказалось вывести Google Docs и Google Sheets на отдельные сочетания (docs и spr, то есть Spreadsheets), так как часто найти какой-то документ напрямую в сервисах Docs или Sheets быстрее, чем в Google Drive.

Теперь о том, как это работает. На самом деле, это базовый функционал Хрома, о котором мало кто знает. В Хроме можно настроить Shortcuts на любые адреса и вызывать их ими просто через строку поиска. Делается это в настройках поисковых движков в разделе Site Search. Там надо создать кастомный движок (который на самом деле никакой не движок, а просто сайт, который вы хотите открыть) и присвоить ему название и Shortcut. Вот как выглядят мои настройки теперь (сами адреса скрыты). Для перехода в этот раздел наберите в поисковой строке chrome://settings/searchEngines.

Настройки Search engine в Chrome
Настройки Search engine в Chrome

Чтобы перейти на другую страницу в текущей вкладке мне пришлось привыкнуть к использованию функции Open Location… в Хроме (шорткат для нее был в прошлом разделе).

И последнее: при открытии новой вкладки или при переходе в поисковую строку хорошо бы автоматически переключать язык раскладки на английский. О том, как я настроил такой хитрый трюк — в последней главе.

Поиск

Ровно тем же способом, что я настриваил доступ к сайтам, можно настроить и поиск непосредственно из строки на некоторых сайтах. В моем случае это Яндекс.Карты (maps), YouTube (yt), Wikipedia (wiki) и словарь. В этом случае после ввода зарезервированного сочетания в строке надо нажать Tab и сразу вводить поисковый запрос.

Настройка поиска на сайтах через строку выглядит примерно также, разве что в адрес сайта нужно добавить query string со специальными аргументом %s. Вот как выглядят такие адреса:

Расширения

Теперь о расширениях. Два расширения, без которых я не могу представить работу в браузере — это SpeedDial 2 и Bitwarden.

SpeedDial 2 — это визуальная замена закладок. Расширение отображает плитку с иконками закладок при открытии новой вкладки. Там помимо прочего я держу сайты, которые посещаю редко и не хочу резервировать для них сочетания. Я пользуюсь платной версией SpeedDial, чтобы синхронизировать закладки между браузерами.

Вот так благодаря SpeedDial выглядит новая вкладка в Хроме. Вплоть до последнего обновления можно было настроить дизайн с помощью кастомного CSS. Без него, к сожалению, стало погрубее.

Speed Dial 2
Speed Dial 2

Bitwarden — это отличный open-source менеджер паролей. В контексте этой статьи важно, что в Bitwarden можно поставить автозаполнение логина и пароля на шорткат. В моем случае это как ни странно Cmd + S, и я использую его просто постоянно.

Как настроить шорткаты на macOS?

На Маке настроить кастомные шорткаты для отдельной программы довольно просто. Система позволяет настраивать их прямо в настройках: System PreferencesKeyboardShortcutsApp Shortcuts. Для этого нужно посмотреть название команды в верхнем меню и задать ей сочетание клавиш. Скорее всего заданное сочетание клавиш уже будет использоваться браузером для какой-то другой команды: ее надо будет перемэпить на что-то, чтобы избежать конфликта шорткатов.

Так можно сделать почти все, но не все. Для некоторых шорткатов придеться воспользоваться более сложными решениями. Самое распространенное решение для тонкой настройки шорткатов на Маке — это утилита Karabiner-Elements. В ней с помощью специального синтаксиса можно настроить супер хитрые преобразования дефолтных шорткатов программы в собственные (Complex Modifications).

В качестве примера я приведу настройки для преобразования Cmd + G в Cmd + L (дефолтный шорткат для Open Location…) c одновременным переводом раскладки на английский (тоже самое надо повторить и для Cmd + N):

{
  "conditions": [
    {
      "bundle_identifiers": ["^com\\.google\\.Chrome$"],
      "type": "frontmost_application_if"
    }
  ],
  "from": {
    "key_code": "g",
    "modifiers": {
      "mandatory": ["left_command"]
    }
  },
  "to": [
    {
      "select_input_source": {
        "language": "^en$"
      }
    },
    {
      "key_code": "l",
      "modifiers": ["left_command"]
    }
  ],
  "type": "basic"
}

Как настроить шорткаты на Windows?

На Windows все на самом деле безальтернативно. Системного менеджера шорткатов по крайней мере несколько лет назад не было, поэтому самым удобным решением была всемогущая утилита AutoHotkey. Преобразование шорткатов с ней происходит также при помощи специального синтаксиса по той же логике, что в Karabiner-Elements на macOS.

Примерно так выглядел мой файл настроек шорткатов на Хром для AHK раньше:

; Chrome Tabs
#ifWinActive ahk_exe chrome.exe
!f::
  Send, ^{Tab} ; Next Tab (Ctrl+F)
Return

!d::
  Send, ^+{Tab} ; Previous Tab (Ctrl+D)
Return

!q::
  Send, ^{vk57} ; Close Tab (Ctrl+Q)
Return

!n::
  Send, ^{vk54} ; New Tab (Ctrl+N)
Return

!+f::
  Send, ^{vk46} ; Find (Ctrl+Shift+F)
Return
#IfWinActive

Таблицу кодов клавиш (Virtual-Key Codes) можно найти вот здесь, а названия клавиш в AHK вот тут.

На этом все. Это первый материал из серии про эффективную работу. Если он окажется полезным, то я сделаю материалы и на другие темы.