Две системы клавиш
Это короткая заметка, которую хотелось бы развить в будущем.
Есть только два редактора, в которых хоткеи сделаны правильно — это Вим и Емакс. Не то чтобы я маньяк, но других вариантов не вижу.
Возьмем современный редактор и посмотрим на хоткеи. Нажатие на кнопку приводит к печати символа, и это логично. Чтобы вместо печати было действие, кнопку нажимают со служебной клавишей, скажем 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. Я уже не помню какая, но точно помню подсказку в меню.
Не то чтобы это большая проблема; можно продуктивно работать в любом редакторе. Но повторюсь, системно к проблеме хоткеев подошли только в двух редакторах: Виме и Емаксе. Все остальное — ситуативно и нерасширяемо.
Нашли ошибку? Выделите мышкой и нажмите Ctrl/⌘+Enter
Александр, 22nd Dec 2024, link
Есть такое, в Idea неплохо спасает плагин Ataman, рекомендую
Сандер, 23rd Dec 2024, link
Есть еще такой консольный редактор JOE. Поставляется с несколькими вариантами раскладок. Оригинальная достаточно причудлива, есть три группы комманд: Ctrl+X, Esc+X, Ctrl+K+X. Причем в последнем случае допустимо последовательное нажатие, т.е. сначала жмется Ctrl+K а потом другая клавиша. Из мануала узнал, что в большинстве терминалов Сочетание Ctrl+[ заменяет Esc, Ctrl+I – Tab, a Ctrl+M – Enter. Поначалу такой выбор хоткеев удивлял, а потом я понял что автор опытным путем выяснил свободные от большинства умолчаний сочетания, а затем распределил их в зависимости от частоты использования. Помимо Ctrl на CAPS перемапил еще Esc на Тab и привыкаю. Нравится он мне.
Дядя Джон, 23rd Dec 2024, link
Преимущество vim/neovim над абсолютно всеми остальными: клавиши являются мнемониками от действий. То есть, в большинстве случаев, их не требуется зазубривать, это как язык, в котором составляешь предложения из глаголов, существительных.
И это даёт потом неповторимое наслаждение от работы с текстом, недостижимое ни в каком другом редакторе.