Это короткая заметка, которую хотелось бы развить в будущем.

Есть только два редактора, в которых хоткеи сделаны правильно — это Вим и Емакс. Не то чтобы я маньяк, но других вариантов не вижу.

Возьмем современный редактор и посмотрим на хоткеи. Нажатие на кнопку приводит к печати символа, и это логично. Чтобы вместо печати было действие, кнопку нажимают со служебной клавишей, скажем Ctrl, Alt, Command. Все это тоже логично.

Но вот беда — многие комбинации заняты дефолтами! Ctrl-Q, T, N, O, P — все это системные действия. Еще десяток клавиш уходит на навигацию каретки, еще десяток — на удаление строк, слов и символов, и привет — Ctrl уже исчерпан. Попутно нужно учесть, что на Маке роль Ctrl играет Command, поэтому удвоения емкости это не дает.

Остается Alt, но на него могут быть повешены хоткеи терминала и операционки, и в итоге какой-нибудь Alt-N просто не дойдет до редактора. Ну и часто на Альт тоже много чего навешено.

Только в двух редакторах подумали о том, как решить проблему комплексно: это Vim и Emacs. В первом разграничили режимы ввода и команд. Я пытался в Вим, но не зашло. Уважаю тех, кто сидит в нем, потому что нравится сама концепция.

В Емаксе хоткеи сделали последовательностями, или цепочками. Например, C-x f открывает файл, C-x o открывает новое окно, C-x C-c —закрывает Емакс. Подход с цепочками позволяет делать домены хоткеев, когда на C-x вешаются базовые функции, на C-h — все, что имеет отношение к справке, на C-x r — операции с прямоугольниками и так далее. Все это легко наращивается вглубь, не мешая остальным.

Недавно загуглил, как вызвать в Идее выпадашку с методами. Знаете как? Command + F12! Если учесть, что F-клавиши на маке работают с зажатым Ctrl, получается три кнопки одновременно! Пользователь Идеи должен быть осьминогом, чтобы с этим совладать. А в Xcode на полном серьезе одна из функций навешена на Shift+Alt+Command+V. Я уже не помню какая, но точно помню подсказку в меню.

Не то чтобы это большая проблема; можно продуктивно работать в любом редакторе. Но повторюсь, системно к проблеме хоткеев подошли только в двух редакторах: Виме и Емаксе. Все остальное — ситуативно и нерасширяемо.