Примечание: последнюю версию этой статьи можно найти здесь.
Переключение на наиболее часто используемые приложения лучше всего выполнять с помощью сочетаний клавиш. Вот как я делаю это на каждой из трех основных платформ.
GNU/Linux
Я использую GNOME в качестве рабочего стола. Настоятельно рекомендуется избегать использования мыши в областях, где та же функция может быть выполнена намного быстрее с помощью клавиатуры, для дополнительной производительности, которую она предлагает.
Например, если вы используете внешний монитор, настроенный с помощью TwinView, потребуется некоторое время, чтобы переместить указатель мыши из окна на дисплее вашего ноутбука в окно на внешнем мониторе. Если разрешение вашего монитора высокое, тогда это займет еще больше времени.
Далее следует список функций, которые обычно выполняются с помощью мыши, но имеют эквивалентный подход, ориентированный на клавиатуру, как описано здесь.
Переключение на конкретное окно
Допустим, у вас открыто около 10 окон, и вы хотите переключиться на конкретное окно. Здесь применяется правило 80/20 - большинство переключателей окон предназначены для небольшого подмножества всех возможных окон. В моем случае я чаще переключаюсь на три приложения: Emacs, Firefox и Terminal. Таким образом, более полезно связать предварительно определенные ключи с этими окнами.
Следующая комбинация клавиш при нажатии активирует соответствующее окно.
ctrl + alt + u: Firefox
ctrl + alt + k: Emacs
ctrl + alt + j: Terminal
Это самые удобные для меня ярлыки, но вы можете назначать разные клавиши по своему желанию.
Единственный вопрос, который остается, как мы это делаем? Если вы используете Sawfish, например, это не легкая задача. Но для других слабых оконных менеджеров, таких как Metacity (по умолчанию в Ubuntu), есть решение: wmctrl. В Ubuntu вы можете использовать apt-get для установки wmctrl. После установки попробуйте выполнить следующие команды:
$ wmctrl -a Firefox
$ wmctrl -a emacs
$ wmctrl -a Terminal
Опция -a активирует окно, заголовок которого соответствует заданному аргументу. Для сопоставления ключей мы используем xbindkeys. Установите xbindkeys с помощью apt-get и начните писать файл конфигурации ~/.xbindkeysrc. Вот моя конфигурация:
"wmctrl -a Firefox"
m:0xc + c:30
Control+Alt + u
"wmctrl -a Terminal"
m:0xc + c:44
Control+Alt + j
"wmctrl -a emacs"
m:0xc + c:45
Control+Alt + k
Я обычно использую команду xbindkeys -k, чтобы найти все те числовые коды, которые вы видите выше. Например, m:0xc соответствует комбинации клавиш Control+Alt. Вы также можете использовать xbindkeys-config, утилиту графической конфигурации, чтобы создать ~/.xbindkeysrc.
Вы также можете рассмотреть возможность добавления xbindkeys в настройки сеанса GNOME, чтобы обеспечить автоматический запуск при каждой загрузке.
Переключение на конкретную вкладку Firefox
Переключение между мышью в Firefox может осуществляться несколькими способами:
Нажмите Alt+n, где n - номер вкладки. Например, нажмите Alt+2, чтобы перейти на вторую вкладку. Помимо переключения на первую, вторую или третью вкладку, это обычно не очень полезно.
Команда Ubiquity для вкладок. Вы нажимаете Ctrl+пробел и затем набираете «tab gmai», чтобы перейти на вкладку Gmail. Это действительно полезно, особенно когда у вас открыто много вкладок. Если команда табуляции используется чаще, чем другие команды, начинающиеся с t, тогда вы можете просто набрать «t gmai» вместо «tab gmai».
Переключение на определенный буфер Emacs
Emacs имеет отличный режим ido, который позволяет вам интерактивно нечеткие совпадения имен буферов при переключении буферов. Обычно нажимают Cx b, чтобы вызвать минибуфер, а затем вручную вводят имя буфера с завершением табуляции. Например, в режиме ido ввод 'ny' будет соответствовать буферу main.py; и он делает это в интерактивном режиме без необходимости нажимать клавишу Enter. Используйте следующий код elisp в вашем .emacs после добавления ido.el к вашему пути:
;; Buffer switching
(require 'ido)
(ido-mode t)
(setq ido-enable-flex-matching t)
(global-set-key (kbd "M-i") 'ido-switch-buffer)
Теперь нажмите Alt+i для интерактивного переключения буферов.
Последнюю версию моего собственного .xbindkeysrc можно найти здесь.
Майкрософт Виндоус
То же самое можно сделать в Microsoft Windows с помощью программы AutoHotkey.
Вот скрипт AutoHotKey, который я использую на своем ноутбуке с Windows:
; match window title anywhere
SetTitleMatchMode 2
^!u::WinActivate Opera
^!j::WinActivate ActiveState Komodo
^!k::WinActivate sridharr@double
^!h::WinActivate Mozilla Thunderbird
Apple Mac OS X
На Mac нет способа Unixy назначать глобальные сочетания клавиш (например, xbindkeys) ... но есть несколько обходных путей. Благодаря этому сообщению о сбое в работе сервера я обнаружил, что Quicksilver является достаточно хорошим способом назначения сочетаний клавиш для активации определенных приложений.
Подробные инструкции по назначению глобальных сочетаний клавиш см. В этом посте. Поскольку настройки будут сохранены в файле ~/Library/Application Support/Quicksilver/Triggers.plist, вы можете легко переместить его или сделать ссылку на него в свой каталог Dropbox.