Зажмите use что за кнопка
[В закладки] Кунг-фу на клавиатуре. Искусство сочетать клавиши
Сочетания клавиш для тех, кто хочет войти в IT и не только.
Содержание
К сожалению, для многих знание «контрол-цэ» и «контрол-вэ» становится верхней границей в использовании комбинаций. Именно для них были написаны первые главы этой статьи, где мы разберем основные сочетания клавиш и советы по эффективному использованию клавиатуры, которые прогонят из вас компьютерную мышь.
Для тех, кто осилил начало статьи, а также для уже опытных пользователей клавиатуры дальше начнется самое интересное. Я расскажу о таком инструменте, как AutoHotkey и о своем скрипте, использование которого сделает из вас настоящего печатающего ниндзю.
В конце вы увидите, как все эти знания можно использовать при работе с самым популярным на данный момент текстовым редактором Visual Studio Code.
Не пытайтесь просто запомнить все, что написано в статье. Обязательно попробуйте понажимать все сочетания клавиш, о которых вы не знали! А потом возвращайтесь время от времени, чтобы освежить память.
Если вы пользователь системы Windows, то вы обязаны дочитать до конца.
Базовые сочетания
Базовыми сочетаниями я буду называть те, которые выполняют похожие функции в разных операционных системах и приложениях.
Графика
Во многих приложениях, где можно работать с графическими элементами, скорее всего заработают следующие сочетания:
Эти сочетания мыши критичны для тех, кто работает с графическими элементами.
Терминал Linux
Навигация в терминале не очень удобная. Для того, чтобы немного облегчить жизнь, при работе с этим инструментом, можно воспользоваться скриптом, о котором будет рассказано в разделе AutoHotkey.
Windows
Вы можете не любить Windows, но стоит признать, что эта операционная система постоянно развивается и с каждым годом становится все лучше и удобнее. Сейчас это современная система, предоставляющая пользователю множество возможностей.
Сочетания
Проводник
Утилиты
Chrome
В хроме исправно работают многие из сочетаний, описанных в Базовые сочетания.
Сочетания мыши
Developer tools
Этого немного, но достаточно, чтобы пользоваться и не перегружать мозг. Больше сочетаний здесь.
Базовые сочетания плюс те, которые используются в Chrome составляют большую часть наиболее распространенных сочетаний. Это значит, что, подобные сочетания вы сможете применить в большинстве программ, с которыми работаете. Поэтому многие «интуитивные» сочетания я буду опускать.
Vimium
Вот что это нам дает.
Внимание на регистр символов.
Перемещение через сочетания как в виме
Используйте привычные сочетания вима для движения по странице.
Панель поиска В вимиуме очень удобная панель поиска, которая может искать:
Табы
Многие команды можно повторить стандартными сочетаниями браузера и я не стану их рассматривать. Для всего остального есть вот такая хорошая памятка:
Vimium hotkeys
В интернете можно найти много аналогов для вашего браузера, например, для Firefox.
Сочетания, которых нет
Хакерский редактор
Мне всегда нравились идеи, заложенные в основу редактора мозга кода Vim.
Vim (сокр. от Vi Improved, произносится «вим») — кошмар для случайного пользователя. Если его удаётся в конце концов закрыть, то вздыхаешь с облегчением и твёрдой уверенностью, что больше не будешь запускать эту программу ни разу в жизни. (c) Материал из Викиучебника
О самом популярном в мире редакторе кода чуть позже.
Вим спроектирован так, чтобы минимизировать перемещения ваших запястий во время набора текста. Все его горячие клавиши находятся в прямой доступности ваших рук.
Этой же цели цели хотел добиться и я, но без привязки к Виму, с его недружелюбными режимами.
Существуют целые сообщества, которые пытаются перенести функционал Vim в разные редакторы кода. Но я решил поступить по другому и перенести хоть и малую часть его фишек, но на всю систему. И для этого можно использовать AutoHotkey.
AutoHotkey
AutoHotkey — свободно распространяемый язык для автоматизации выполнения задач в Microsoft Windows. AutoHotkey является языком программирования сценариев, приспособленным к легкому назначению и переназначению горячих клавиш, включая кнопки мыши и джойстика.
Короче говоря, AHK позволяет нам автоматизировать рутинные задачи, создавать программы с графическим интерфейсом или просто автоматически писать Sincerely Yours в конце электронного письма. Чтобы профессионально лениться с помощью AHK нужно существенно поработать головой перед этим.
Итак, мы хотим иметь возможность не отрывать руку от фыва олдж позиций ни на клавишу. Мы хотим писать эффективно, да так, чтобы не уступать прославленным вимерам. И мы хотим, чтобы было несложно. А еще у нас есть программа, с помощью которой можно программировать сочетания клавиш и одна лишняя клавиша на клавиатуре. Пазл сошелся? Запоминаем и идем писать программу.
CapsKeys
Вот, как выглядит часть моего скрипта
А вот что он делает
capsKeys keyboard layout
13 вариантов загрузки Mac для особых случаев
Зачем они нужны и когда их использовать.
Как правило, Mac работает без сбоев. Однако любой может столкнуться с проблемой, которая не даст OS X загружаться.
В системе имеется весь набор инструментов для аварийного запуска компьютера, восстановления системы и специфические способы запуска для нестандартных ситуаций. Давайте подробнее изучим все возможные варианты загрузки компьютера Mac.
Торопись! Мастер-классы уже завтра: в Москве про музыкальную студию, а в Питере про фэшн-иллюстрацию.
Большинство современных Mac поддерживают более 10 способов запуска системы. Чтобы попасть в любой из них, нужно зажать определенную кнопку или сочетание клавиш сразу после стартового звука при включении питания.
1. Режим восстановления

Зачем нужен: в режиме восстановления доступна дисковая утилита, установщик OS X и служба восстановления из резервной копии Time Machine. Загружаться в таком режиме нужно, если система не стартует обычным способом, для восстановления её из бекапа или полной переустановки.
Как попасть: зажимаем сочетание Command (⌘) + R после звукового сигнала о начале включения компьютера до появления индикатора загрузки.
2. Менеджер автозапуска

Зачем нужен: если второй системой на Mac установлена Windows, то в этом меню можно выбрать, в OS X загрузиться или в Window.
Как попасть: зажмите кнопку Option (⌥) или направьте на Mac пульт Apple Remote, заранее сопряженный с ним, и зажмите кнопку Menu.
3. Загрузка с CD/DVD

Зачем нужен: компьютеры Mac на базе Intel с оптическим приводом либо с подключенным внешним CD/DVD приводом могут быть загружены с диска. При наличии дистрибутива OS X на диске можно произвести установку операционной системы.
Как попасть: зажимаем С.
4. Режим внешнего диска

Зачем нужен: любой Mac с портом FireWire или Thunderbolt можно использовать как внешний накопитель для другого компьютера Mac, чтобы перенести большой объем данных между компьютерами или расширить накопитель на втором компьютере.
Как попасть: предварительно потребуется зайти в Настроки – Загрузочный том и активировать Режим внешнего диска. После этого во время загрузки следует удерживать кнопку T.
Если не хочешь рисковать данными на диске своего Mac, выбирай емкую и быструю флешку.
5. Безопасный режим

Зачем нужен: безопасный режим позволяет устранить проблемы, возникающие при обычной загрузке OS X. При старте системы будет произведена проверка целостности накопителя и запущены лишь самые необходимые компоненты системы. Если к ошибкам при запуске приводили сторонние приложения, то система загрузится без проблем.
Используем этот режим при сбое и зависании в момент загрузки OS X. Если Mac загрузится в нем, начинаем отключать автоматическую загрузку приложений которые запускаются вместе с системой.
Как попасть: зажимаем Shift (⇧).
6. Сетевой режим восстановления

Зачем нужен: данный режим похож на предыдущий, но позволяет восстановить систему из дистрибутива, скачанного с сервера Apple. Для этого потребуется подключиться к сети с доступом в интернет. Использовать такой режим следует, если область диска для обычного восстановления повреждена.
Как попасть: используем сочетание Command (⌘) + Option (⌥) + R.
Сохранить данные и иметь возможность восстановиться из резервной копии помогут специализированные устройства от Apple.
7. Сброс PRAM/NVRAM

Зачем нужен: в специальном разделе памяти Mac хранятся определенные параметры (настройки громкости динамиков, разрешение экрана, выбор загрузочного тома и сведения о последних критических ошибках). Если возникают ошибки, которые могут быть связаны с этими настройками, следует сбросить их.
Как попасть: после звукового сигнала зажмите Command + Option + P + R. Удерживайте клавиши до тех пор, пока компьютер не перезагрузится и вы не услышите сигнал загрузки во второй раз.
8. Режим диагностики

Зачем нужен: данный режим предназначен для тестирования аппаратных компонентов Mac. Он позволит выявить причину неисправности компьютера. Если есть подозрение в неисправности компонентов Mac – загружаемся и проверяем.
Как попасть: зажимаем кнопку D.
9. Сетевой режим диагностики

Зачем нужен: как и предыдущий режим, предназначен для тестирования аппаратной начинки. Однако, если у Mac имеются проблемы с жестким диском или SSD-накопителем, сетевой режим загрузит все необходимое для тестирования с сервера Apple.
Как попасть: нажимаем сочетание клавиш Option (⌥) + D.
10. Загрузка с NetBoot сервера

Зачем нужен: в данном режиме можно установить или восстановить операционную систему по сети. Для этого потребуется готовый образа диска, который хранится на сервере, доступном по сети.
Как попасть: достаточно зажать кнопку N.
11. Однопользовательский режим

Зачем нужен: В таком режиме будет доступна лишь командная строка. Загружаться так следует только при наличии опыта работы с командами UNIX. Продвинутые пользователи смогут провести техническое обслуживание компьютера и устранить системные неполадки.
Как попасть: нажимаем сочетание Command (⌘) + S.
12. Режим подробного протоколирования

Зачем нужен: данный режим не отличается от стандартной загрузки Mac. Однако, во время запуска системы вместо привычного индикатора вы увидите подробный протокол запуска системы. Это может быть необходимо, чтобы понять, на каком процессе загрузки ОС происходит ошибка или сбой. Обратите внимание, что данный режим ориентирован на опытных пользователей.
Как попасть: нажимаем сочетание Command (⌘) + V.
13. Сброс параметров контроллера управления системой (SMC)

Зачем нужен: подобный сброс следует применять при наличии системных ошибок, которые не пропадают после перезагрузки системы и выключения/включения компьютера. Ниже приводим перечень подобных проблем, при которых специалисты Apple рекомендуют сбрасывать параметры контроллера:
Как попасть: на разных Mac данный сброс осуществляется отличными способами.
На стационарных компьютерах:
- 1. Выключите компьютер.
- 2. Отсоедините кабель питания.
- 3. Подождите 15 секунд.
- 4. Подключите кабель питания.
- 5. Подождите 5 секунд и нажмите на кнопку питания.
На ноутбуках с несъемным аккумулятором:
- 1. Выключите компьютер.
- 2. Подключите к источнику питания с помощью адаптера через MagSafe или USB-C.
- 3. Зажмите сочетание Shift + Control + Option на клавиатуре слева и, не отпуская их, нажмите кнопку питания.
- 4. Отпустите клавиши и еще раз нажмите кнопку питания.
На ноутбуках со съемным аккумулятором:
- 1. Выключите компьютер.
- 2. Отсоедините адаптер питания.
- 3. Извлеките аккумулятор.
- 4. Нажмите на кнопку питания и держите её 5 секунд.
- 5. Установите аккумулятор, подключите адаптер питания и включите компьютер.
Добавьте статью в закладки, чтобы долго не искать в случае возникновения проблем.
Артём Суровцев
Люблю технологии и все, что с ними связано. Верю, что величайшие открытия человечества еще впереди!
XKB: перенастроим клавиши под себя любимого
вместо `.
Надоедает тянуться до Esc, при этом клавишей CapsLock пользуетесь РЕДКО.
Надоедает смещать кисть вниз и нажимать Ctrl/Cmd/Win слабым мизинчиком, либо, не дай бог, тянуться до них большим пальцем.
Надоедает лезть за PgUp, PgDn, Home и End, двигая руку каждый раз, чтобы всего лишь промотать страницу вниз.
Надоедает каждый раз, когда вы делаете опечатку, со злобой смотреть на клавиатуру в поисках кнопки Backspace.
Сегодня мы узнаем, как навсегда избавиться от этих мучений.
Зачем это всё?
Чтобы меньше нажимать клавиши. Чтобы меньше тянуться пальцами до тех клавиш, которые часто нажимаем. Чтобы руки меньше уставали. Чтобы легче запоминать что где. Чтобы быстрее печатать, в конце концов.
Многие раскладки для печати (Dvorak, Colemak и т.п.) сильно улучшают расположение клавиш, ставя их ближе к тем местам, куда нужно меньше тянуться. Но при этом совершенно забывают о модификаторах, спец. символах и командных клавишах (Enter, Backspace, Tab, Esc, Delete). А мы подумаем о том, как улучшить существующее положение вещей.
В статье пойдём от простейших изменений, до более интересной и глубокой настройки. И, как в конце хороших фильмов, я оставлю читателя подумать, что делать дальше, и не дам готового рецепта на всё. В конце концов, идеальных и универсальных решений нет, и на раскладку клавиатур товарищей нет.
Первые шаги калеки
Стандартную раскладку нужно модифицировать под себя. Сделать это можно многими способами. Не думаю, что кто-то здесь пользуется экзотическими ibus, Fcitx, SCIM или UIM, поэтому предположу, что у всех работает стандартный X Keyboard extension, XKB. Стоит заметить, что в грядущем на десктопе Wayland, XKB, скорее всего останется отвечать за клавиатуру, также как и в Xorg. Если вдруг тут есть смельчаки, которые уже работают с XWayland, поделитесь своими впечатлениями, работает ли описанное мной у вас. Про альтернативный Wayland Mir от Canonical ничего сказать не могу, кроме того, что вряд ли они возьмутся переписывать и подсистему взаимодействия с клавиатурой.
Первое, что приходит в голову — воспользоваться какими-то графическими утилитами. Если честно, то этот этап я пропустил, и сразу воспользовался xmodmap. Чуть ниже я расскажу, что не так с этим подходом и как делать правильно.
Xmodmap позволяет, например, поменять слоями ; и :, особенно это полезно тем, кто программирует на современном языке, который уже не требует обязательной точки с запятой в конце строки. Даже в JavaScript этого уже делать не нужно. И помогает вот такая простая команда:
А вот такая, например, поменяет местами
Переключение раскладки
Часто ли вам приходится пользоваться Alt? Если вдруг нет, а мне, я заметил, приходится это делать только в богатых менюшками интерфейсах, типа Gimp или LibreOffice, то его можно использовать в качестве переключателя правый Alt, известный как AltGr:
Esc vs CapsLock
Многие, кто часто пользуются Vim, или используют vi сочетания в консоли, и кто мало ругается на форумах, предпочитают иметь Escape на клавише CapsLock:
То же самое можно сделать ещё немного проще:
Или даже вот так, сохраняя CapsLock на месте старого Escape на случай переписки на повышенных тонах:
Откуда эти загадочные параметры, мы с вами узнаем чуть позже.
Цветочки
Наверное, удивлю вас, если скажу, что то, что мы делали до этого было не совсем правильно. setxkbmap ещё ничего, а вот xmodmap появился ещё до XKB, и живёт только для совместимости. Мало того, он ничего не знает и о половине клавиш, синтаксис и принцип работы у него более, чем загадочен, он переводит keycode и keysym, а в некоторых случаях и обратно. Разбираться в этом нет никакого смысла, потому что он в какой-то момент отомрёт, и все ваши ухищрения нужно будет повторять, только уже с помощью другой утилиты, а вы расстроитесь и назло всем опять станете печатать двумя указательными пальцами.
Так вот, всё это работает до одного прекрасного момента, пока не начинаешь понимать, что нужных клавиш много, а пальцы, которые лежат на домашней строке (ASDF JKL;) до всех не дотягиваются.
Я, например, часто пользуюсь клавишей с обозначением Win, которая является модификатором Mod4. Расположена она на моей клавиатуре не слишком удобно, а именно между левыми Alt и Ctrl.
Правильный способ
Правильно всё это делать с помощью xkbcomp. Название у утилиты, как и man к ней дают мало информации о том, чем она занимается. Якобы переводит текстовые описания раскладки клавиатуры в бинарный формат. А на самом деле ещё и загружает их. Давайте попробуем, чтобы понять, как сделать то, что мы уже сделали, только с её помощью.
Запомните, многие в интернете советуют модифицировать файлы, лежащие в /usr/share/X11/xkb/symbols, а именно us, pc и ru. Не делайте этого. Это файлы, действующие на всю систему сразу. На других пользователей (если вдруг у вас такие есть), и если вы там с чем-то накосячите, то набирать текст, даже логин и пароль, бкдшт труднее. Не стоит даже класть туда и модифицированные файлы, и ничего не нужно прописывать в evdev.xml.
Важно: если вы вдруг сделаете что-то не так, то перезагрузка X’ов вам поможет. Есть и более простой способ, можно запустить команду setxkbmap без параметров, и она сбросит почти все ваши настройки на раскладку по умолчанию.
Первым делом нам нужно узнать текущие настройки раскладки, сделать это нужно до всех манипуляций:
На выходе получим что-то вроде этого:
Запишем всё это в файл, причем будем следовать указаниям XDG, и положим его в
В этом файле нас больше всего интересует строка xkb_symbols, остальное оставим без изменений. Развернём фигурные скобки, и поменяем эту строку на следующее:
Ну, скрестим пальцы, и загрузим эту конфигурацию:
Пробуем. Если при нажатии клавиши, на которой у вас нарисована буква Ж, печатается символ :, а не ;, а при нажатии на Ё печатается тильда
, а с Shift’ом всё происходит наоборот, то мы на верном пути.
Стоит заметить, что тут же не нужно заморачиваться с Cyrillic_zhe Cyrillic_ZHE, всё работает и так.
Отлично, теперь вроде бы понятно, что меняется раскладка включением каких-то опций.
В наш файл my добавим следующую строку в секцию xkb_symbols, сразу после уже существующего include:
Стоит заметить, что точка с запятой после include не нужна, в отличии от точки с запятой в других местах этого конфигурационного файла.
Если внимательно посмотреть, то приходит понимание, что вот эти два способа записи идентичны:
При этом первый куда более нагляден.
Что же это значит? Мы загружаем нашу раскладку, говорим, что у нас qwerty (xkb_keycodes), что у нас 104 клавиши (xkb_geometry), и переопределяем символы. При этом в разделе символов мы включаем целиком несколько конфигурационных файлов, pc, us, ru. Где они лежат, можно ли на них посмотреть? Естественно, все они лежат в /usr/share/X11/xkb/symbols. Посмотреть их полезно, особенно если вы соберётесь сделать что-то более масштабное, чем мы уже сделали.
Хорошо, а где лежат те файлы, которые определяют, что CapsLock и Escape нужно поменять местами? Да там же. Выглядит это примерно вот так:
Что такое partial? Это кусок раскладки, который можно включить в другую раскладку. В некоторых конфигурационных файлах щедрые авторы даже добавили комментарии. Но не во всех.
Почему мы просто не делаем свой partial, и не включаем его? К стыду своему готов признать, что пытался делать это по описаниям, но у меня не вышло.
В файл раскладки не нужно класть целиком xkb_keymap, достаточно только секцию xkb_symbols:
Загрузка должна идти с помощью команды:
Увы, вывод setxkbmap не меняется ни от каких параметров, кроме одного случая:
Но, увы, в случае передачи этого вывода в xkbcomp, тот выдаёт ошибку.
Ягодки
Не хочу просто Escape на CapsLock. Хочу чтобы Control тоже.
Как? Как такое возможно? Пришло время магии.
Сначала сделаем так, чтобы при нажатии на CapsLock получался LCTL, добавив вот это в секцию xkb_symbols:
Вторая строчка нужна для того, чтобы избавиться от вредной привычки нажимать старый левый Ctrl. Можно чуть смягчить это:
Тепепь нам понадобится глаз дятла утилита xcape, позволяющая назначить модификатору второе действие. Так, что если он нажат в сочетании с какой-то буквенно-циферной клавишей, то он срабатывает как модификатор, а если он нажат и отпущен в одиночку — он срабатывает как-то по-другому, как мы захотим. В бой!
Из недостатков такого подхода можно назвать то, что Escape будет срабатывать не по нажатию, а по отпусканию клавиши. Кому-то эта задержка не страшна, а кому-то будет критична. А кто-то пойдёт на компромисс.
Бонус
/.XCompose.
А сделать так, чтобы в качестве Compose работал правый Ctrl можно добавлением следующей строки в наш файл:
В путь-дорогу
Я сознательно не публикую свой конфиг целиком, чтобы читатель захотел поэкспериментировать. Вот вам пару идей в дорогу:
— нажимая клавишу F, сделайте так, чтобы HJKL работали как обычные стрелки;
— сделайте так, чтобы левая половина клавиатуры сдвигала регистр только с правым Shift, а правая — с левым. Это очень полезно для рук, хотя и не привычно (подсказка в комментарии);
— сделайте так, чтобы левый Shift не обязательно было зажимать, а чтобы было достаточно его однократно нажать и отпустить, а следом нажать, например, клавишу 5, так, чтобы напечатался символ % (подсказка: Latch);
— повесьте два разных модификатора на одну клавишу
Придумывайте, делитесь. Буду рад услышать интересные идеи.
PS Если вдруг кто скажет, что потом вот сядешь к кому-нибудь другому за клавиатуру, и сразу всё не так, то скажу так: пересаживаясь из Бентли помочь другу довезти до дома жигули, тоже ругаешься. Тем приятнее садиться обратно в Бентли.

