Какие могут быть неиспользуемые клавиши в Emacs, которые обычно можно использовать для связывания клавиатурных макросов?


10

Я читал , что обычный способ привязки ключа клавиатуры макросов C-x C-k 0в 9и Aк Z.

Так, например, после того, как мы определим макрос клавиатуры, мы можем напечатать, C-x C-k bи Emacs попросит связать клавишу. И зарезервированные ключи для этой цели C-x C-k 0в 9и Aк Z.

Но это включает в себя довольно много нажатий клавиш. С какими хорошими ключами можно связать это? Я обнаружил, что могу привязать его к + C-<return>или на Mac с виртуальной машиной Ubuntu, используя версию Emacs GUI. Так что это должно работать, но версия терминала Emacs и встроенный Emacs на Mac оба рассматривают или + как просто , так что это не будет работать. OptionEnterC-<return>OptionEnter<return>

Какие могут быть неиспользуемые клавиши в Emacs, которые обычно можно использовать для связывания клавиатурных макросов?

Или, альтернативно, есть ли способ показать все простые ключи, которые не связаны с Ctrlи Meta?


Этот вопрос, вероятно, слишком широкий и может вызвать основанные на мнении ответы. Пожалуйста, отредактируйте вопрос, чтобы сделать его менее основанным на мнении.
Дан

сделано в соответствии с просьбой ...
неполярность

Ответы:


10

... есть ли способ показать все простые ключи, которые не связаны с CTRL и Meta?

Вы проверили unboundпосылку Дэвиса Херринга? У него есть функция describe-unbound-keys, которая перечисляет несвязанные ключевые аккорды на основе того, что он называет key complexityпартитурой. Довольно крутая функция для игры, чтобы выделить только аккорды клавиш CTRLи METAклавиш.

Чтобы получить key-complexity-1доступ к базовому механизму оценки, посмотрите на функцию в unbound.el и настройте весовые коэффициенты для изоляции CTRLи METAключи. Этот пакет имеет большой потенциал для автоматического обнаружения полезных последовательностей связывания ключей.


Это довольно интересно - у меня не было доступных комбинаций клавиш до сложности 5. Я думаю, чтобы сделать это более полезным, вы можете объединить его с информацией о том, как часто вы используете разные функции (или другие люди используют - я думаю, что Xah Lee скомпилировал эту информацию ). Это была одна из самых сложных частей Emacs, когда я только начинал изучать ее - какие сочетания клавиш можно использовать, не стирая что-то, что может пригодиться позже? Или как мне связать наиболее часто используемые функции, чтобы они не вызывали RSI? Потребовалось некоторое время, чтобы выработать хороший набор привязок, но, вероятно, это может быть частично автоматизировано.
Брайан Бернс

Автоматизация полезна только для обнаружения, а не для разработки «хорошего набора привязок», поскольку этот набор зависит от пользователей, необходимых функций, раскладки клавиатуры и т. Д. Даже для одного и того же пользователя привязки будут развиваться со временем. RSI добавляет еще один фактор. Короче говоря, добейтесь комфорта, а не того, какие сочетания клавиш «могут быть полезны позже».
Emacs User

Следовательно, «частично» автоматизировано. Есть несколько ключей, которые очень легко достать, которые привязаны к тому, что большинство людей едва используют. IIRC transpose подобен этому, и был бы хорошим кандидатом для повторного связывания - объединение этого пакета с использованием частоты использования функций скажет вам об этом. Mx - одна из наиболее часто используемых клавиш, но ее трудно достать современными клавиатурами - ErgoEmacs отсканировал ее Ма, и я использовал ее, и она мне очень понравилась. Создание хорошего набора привязок занимает очень много времени, особенно когда вы начинаете и не знаете, что делаете, поэтому кое-что, что могло бы помочь, было бы действительно полезно.
Брайан Бернс

@ bburns.km пойти на это, потому что вы описываете настройку, а не автоматизацию.
Emacs User

2

Согласно документации , C-c+ письмо и F5-F9 зарезервированы для пользователя.

Другим вариантом является привязка M-mв качестве ключа лидера и вместо M-Mоригинала M-m.

Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.