Печатайте быстро, когда сложно набрать Control, Alt и Esc.


12

Я очень плохо знаком с Emacs и пробую встроенный учебник. После того, как я прошел через основу, я нашел , что это очень трудно достичь Ctrlи Altили Escключей. Я пытаюсь печатать быстрее, но так как все команды требуют этих клавиш, я не могу быть быстрым вообще. Я искал, но кажется, что никто не жалуется на эти ключи.

Я уже знаю , что вы можете поменять Ctrlи Caps Lockключи, но я предпочитаю не делать этого , потому что я слышал , что это не рекомендуется.

Как я могу упростить ввод команд?


7
Я назначил Caps Lock для работы еще одной клавишей Ctrl несколько лет назад, и я полностью доволен этим, даже когда не использую emacs. Намного лучше иметь это прямо в домашнем ряду, так что я понятия не имею, кто бы рекомендовал против этого.
Ину

1
Один из аргументов против этого заключается в том, что, по-видимому, люди, которые делают это (как и я!), Всегда используют левую мизинец и большой палец для нажатия клавиш-модификаторов. Более сбалансированным подходом было бы использовать как правую, так и левую клавиши ctrl и alt, так что одна рука нажимает модификатор, а другая - клавишу назначения. Но у меня годы мышечной памяти с caps-lock как ctrl, и я доволен этим.
glucas

1
Вам не нужно использовать Ctrl и Alt для обычной «печати». Привязки клавиш, в которых используются эти модификаторы, помогут вам перемещаться по тексту, убивать (вырезать), дергать (вставлять), открывать файлы и многое другое. С заметным исключением Vi, я думаю, вы обнаружите, что все текстовые редакторы потребуют от вас использовать клавиши-модификаторы для этих типов функций или использовать мышь. Когда вы говорите «быстро», какова ваша система отсчета? Быстро по сравнению с чем? (В качестве примечания: я люблю отображать Caps Lock на Ctrl и рекомендую его всем.)
nispio

2
Вот ссылка на ту же / связанную ветку, озаглавленную Каков наилучший способ избежать получения «Emacs Pinky»? : stackoverflow.com/questions/52492/… Эта тема датируется шестью (6) годами и имеет более 12 940 просмотров и 31 различных ответов.
юрист

1
Добро пожаловать в Stack Exchange. Я перефразировал ваш вопрос как вопрос с практическими рекомендациями, а не как вопрос опроса, потому что Stack Exchange не выполняет вопросы опроса .
Жиль "ТАК - перестань быть злым"

Ответы:


22

Это сложный вопрос для «ответа», но несколько мыслей:

Попробуйте некоторое время поработать с привязками клавиш по умолчанию, потому что Emacs сначала будет чувствовать себя странно. Я бы не советовал вносить серьезные изменения в конфигурацию, пока у вас не будет лучшего понимания того, что работает и не работает для вас.

Вы найдете пользователей Emacs по обе стороны аргумента caps-lock vs. ctrl. Лично я давно использовал caps-lock в качестве клавиши ctrl и считаю ее очень удобной. Я использую левую руку для всех клавиш-модификаторов: обычно мой pinky для Caps Lock( C-) и Shiftи большой палец для Alt( M-). Я делал это годами и доволен этим. Я чувствую, что могу нажимать клавиши-модификаторы любой рукой, но это не то, что я узнал.

Есть режимы, которые не сильно зависят от клавиш-модификаторов. Если вам нравится стиль модального редактирования Vim, вы можете попробовать Evil или более похожий на Emacs режим бога . Но я бы все же предложил провести некоторое время с настройками по умолчанию.

Как только вы познакомитесь с Emacs и узнаете, какие команды и режимы вы считаете наиболее полезными, вы можете начать работать с привязками клавиш. Функциональные клавиши могут использоваться в качестве префикса, чтобы сэкономить некоторое использование модификаторов, хотя вы должны их использовать. Существуют пакеты, такие как key-chord, которые позволяют связывать повторяющиеся клавиши (например jj) или клавишные аккорды (like jk) с командами. Есть также такие вещи, как smartrep, которые позволяют вам использовать отдельные клавиши для продолжения выполнения команд после некоторой начальной команды, которую можно использовать, чтобы избежать необходимости удерживать некоторую комбинацию модификатора. Но для настройки пакетов такого типа необходимо знать, какие команды вы хотите перепривязать, а для этого нужно сначала разобраться.


Неделю назад я переключил блокировку колпачков для контроля, и у меня есть вопрос для людей, которые делают это: вы бьете блокировку колпачков только мизинцем или также безымянным пальцем? Я обнаружил, что обычно, когда я пишу код, я бью его мизинцем, но когда я не пишу активно (например, когда я перемещаюсь по коду), я использую безымянный палец, так как это намного удобнее.
MonsieurBanana

Я думаю, что я всегда использую мой мизинец - но делайте все, что работает
glucas

То, как я использую модификаторы, по существу идентично вашему, с добавлением использования большого пальца правой руки для нажатия alt grклавиши, когда мне нужно написать символы с акцентом из моего макета. Мне не нужно часто его использовать, но стоит упомянуть, что этот подход хорошо масштабируется для макетов, использующих этот ключ.
DoMiNeLa10

10

У меня есть на Рождество клавиатура Kinesis. Я не буду размещать ссылки, чтобы не делать эту рекламу. Клавиатуры с аналогичными качествами тоже подойдут.

До этого у меня была клавиатура Steelseries с дополнительной привязкой Ctrlк Caps Lock. Важные вещи, которые мне нужно было изучить (с моей старой клавиатурой):

  • Нажмите M-xс обеими руками. Я могу Ctrlнажать правую клавишу на клавиатуре моего ноутбука, но не на моей старой настольной клавиатуре. Если достижение это выполнимо, вы должны научиться нажимать C-x, C-r, C-s, C-a, C-eи C-cт.д. с обеими руками тоже.
  • Используйте право Shiftвсякий раз, когда это возможно.
  • Если вы придерживаетесь прямой клавиатуры, то вы должны потренировать свой мизинец! Так же, как пианисты играют пять упражнений.
  • Не используйте Home, Pagup, Pagedownи Endтак же как стрелка kyes.
  • Некоторые команды могут иметь альтернативные привязки клавиш, которые могут быть длиннее, но легче нажимать (требуется меньше клавиш одновременно).
  • Если вы решите попробовать эргономичную клавиатуру, вам нужно будет немного переназначить и вместо тренировки мизинца вам придется потренировать большие пальцы.

1
Upvote за совет "обе руки", это то, что вы не видите часто. Я слишком часто делаю C-x C-fтолько с левой рукой, и это действительно начинает ранить мою левую мизинец. Вместо этого, поместив указательный палец правой руки на правый элемент управления, а затем оставив указательный палец, нажмите x, f, это намного лучше.
Робру

Говоря о пианино, вы можете попробовать большим пальцем нажимать на модификаторы (например, когда вы пересекаете игру в масштабе). Например: большим пальцем вниз Ctrlповерните руку и нажмите xуказательным пальцем. Вместо того, чтобы крепко сжимать руку, вы расслаблены и используете большие мышцы рук. Это не работает для всех комбо, но вы можете попробовать это специально для левого нижнего угла C-a C-c C-d C-s C-x"scrunch fest".
Грег Хендершотт,

4

шаг 1, установите режим зла ( http://www.emacswiki.org/emacs/Evil ). Он использует привязки клавиш vim и предоставляет расширенные функции vim, такие как текстовые объекты, поэтому вы печатаете намного меньше Ctrl, Alt

шаг 2, используйте evil-leader ( https://github.com/cofi/evil-leader ), сначала вы нажимаете клавишу лидера (я сопоставляю ее с ","), затем набираете комбинацию любых клавиш для запуска команды. Пожалуйста, воспользуйтесь этим в полной мере, вам больше не понадобятся Ctrl и Alt, например, я использую ", mx" для замены Mx

шаг 3, установите зло-побег ( https://github.com/syl20bnr/evil-escape ), вы нажимаете «kj» для имитации «Cg» и «ESC»

Это решение работает в любом терминале, кстати.

Яркий пример - spacemacs https://github.com/syl20bnr/spacemacs (но в качестве ключа-лидера там используется ключ SPACE)


2

Я использую макет Dvorak и обнаружил, что он очень хорошо работает с привязками клавиш Emacs по умолчанию. C-nнаходится на домашнем ряду и C-pможет быть нажата указательным пальцем вместо мизинца. C-u(префиксный ключ) также находится в домашнем ряду.

Я поменял местами Caps Lock и Ctrl на всех клавиатурах, потому что мне легче набирать определенные комбинации клавиш. Я также привязан M-xк клавише меню (справа от пробела), потому что мне легче нажать, чем слева Altи x.

Помимо этого я использую, god-modeчтобы сделать более длительные сессии редактирования немного более удобными. Я не считаю, что ключи Emacs являются препятствием, и я в основном использую значения по умолчанию.

Как и @glucas, я использую левый мизинец для Ctrl и левый большой палец для левой клавиши Alt. На истинно эргономичной клавиатуре я связал левую пробел с Alt, что делает его намного менее неудобным, чем на обычной клавиатуре.

Если вас беспокоит слишком сильная нагрузка на левую руку путем переключения Ctrl и Caps Lock, вы даже можете привязать Ctrl к клавише Return. См. Эту статью для получения дополнительной информации: http://emacsredux.com/blog/2013/11/12/a-crazy-productivity-boost-remap-return-to-control/


1

TL; DR : убедитесь, что важные ключи не так сложно достать.

Я второй ответ wvxvw о Kinesis как профилактическое средство против Emacs Pinky. Я использовал свой в течение 14 лет, поэтому я уверен, что инвестиции уже окупились. На Kinesis я сопоставил нижний ряд с модификаторами ( s-H-C-M/ M-C-H-s), и у меня есть Mode_switchклавиши большого пальца для доступа к «встроенным клавишам со стрелками». Эта установка оставляет желать лучшего.

Бывают случаи, когда мне приходится или нужно набирать текст на ноутбуке, и у меня есть что-то похожее, переназначение числовой строки в модификаторы и помещение числовых символов на функциональные клавиши (см. Мой файл .xmodmap или .xkb для подробности). Это, опять же, означает, что на моих запястьях есть небольшое скручивание, и на мизинцах нет никакого напряжения.

В последние месяцы я заметил напряжение в пальцах Controlи Mode_switchноутбуке. Это всегда хорошая идея, чтобы попытаться уменьшить стресс, когда вы замечаете это. Я играл с липкими клавишами , но обнаружил, что их текущая поддержка оставляет желать лучшего. Жаль, потому что они действительно хорошая идея.

Тем не менее, мне повезло с режимом Бога , который похож на липкий Controlключ, но только в Emacs. Перебираясь с этим и режимом Зла , я заметил, что определить подобный липкий Metaключ очень просто - или вы можете определить другие модификаторы или встроенные слои. evil-dvorak - одна из связанных оптимизаций, хотя выбранная раскладка клавиатуры является несколько личной.

Подводя итог основным эргономическим настройкам, которые помогли мне «жить в emacs» в достаточно высокой степени:

~ 10 лет: Kinesis, dvorak, Xmodmap / Xkb, Ratpoison (важно: установить выход RP на что-то в пределах досягаемости, C-tпо умолчанию, но это можно легко улучшить)

~ 1 год: пентадактиль (с привязками Emacs ), режим Бога + режим зла (нечестивый союз) и переключение на постоянный стол в течение части дня. Также Helm для быстрого ввода команд.


0

Вы заметите, что это очень трогательная тема для давних пользователей emacs. Как и предлагали другие ответы, попробуйте немного по умолчанию, чтобы выяснить, какие последовательности клавиш особенно сложны для вас, для языков, которые вы печатаете на конкретной клавиатуре. Затем реализуйте одно или два преобразования критических клавиш, таких как Ctrl, Meta и Escape. В зависимости от вашего ноутбука и ОС у вас может быть несколько способов переназначения. Например, в Mac OS X, панели настроек клавиатуры вместе с Karabiner будет достаточно, чтобы найти работоспособную переназначение клавиш. Попробуйте одно решение за раз, чтобы увидеть, соответствует ли оно вашим потребностям. Может потребоваться некоторое время, чтобы найти то, что соответствует вашим потребностям. Давние пользователи предложат избегать перегрузки ваших мизинцев. Берегись.


0

Эта проблема не относится к Emacs. Страдают и пользователи других программ, которыми можно управлять с помощью сочетаний клавиш. Emacs имеет его в большей степени, потому что у него больше команд. Основная причина в том, что не хватает ключей для всех необходимых нам команд. Если вас не интересует теория, перейдите к последнему абзацу.

Очевидное решение - добавить дополнительную клавиатуру для команд Emacs. Тогда у вас будет всего 200 ключей. Тогда вы будете печатать еще медленнее. На самом деле, 100 клавиш на стандартной клавиатуре слишком много для сенсорного набора. Я считаю, что человек может достать до 22 клавиш одной рукой без движения запястья.

Чтобы быстрее печатать, вы перемещаете клавиши-модификаторы под пальцами. Тогда не хватает клавиш для латинских букв. Например, «j» является клавишей-модификатором, нажатие «j», а затем нажатие «d» приводит к появлению буквы «j». Если вам не нравится нажимать клавишу-модификатор для каждой буквы, вы используете режимы и модальные редакторы. Например, в режиме вставки «j» создает букву «j»; в командном режиме преформы j прерываются (убиваются); Есть клавиши для переключения режимов. (Эти примеры не реализованы ни в одном редакторе, они просто примеры.)

Vim - известный модальный редактор. Это было упомянуто выше. Так как Emacs является программируемым, существует модальный минорный режим, который называется God Mode . Это служит потребности, хотя это может быть улучшено. В режиме Бога вам не нужно изучать новое связывание клавиш для каждой команды Emacs, однако вам нужно перевести каждое связывание клавиш в последовательность клавиш в вашей голове. Например, «gw» создает команду, связанную с «M-w».


0

Короче говоря, нажмите их все легко большими пальцами. Вы можете сделать это без Kinesis.

Теперь подробности. Купить например японскую клавиатуру:

Японская клавиатура
(источник: owltech.co.jp )

и использовать в нижнем ряду как , например , как AltShiftCtrlShiftAltи EscBSSpaceRetTab, средний из которых является физическое пространство бар. Это означает, что если вы нажмете пробел в одиночку, это обычный пробел, но при нажатии с другими это будет Ctrl. То же самое для Alt / Esc, Shift / BS и т. Д.

О том, как на самом деле этого добиться, см. Каков наилучший способ избежать получения Emacs Pinky? в stackoverflow.com. (На этот вопрос уже ссылается Жиль )

Вы можете купить японские клавиатуры, например, на ebay.com или amazon.com. amazon.co.jp также доступен на английском языке.


0

Левая alt(т.е. metaв emacs) клавиша может быть легко нажата с помощью большого пальца левой руки, и вы можете привязать все ваши общие функции (например, перемещения курсора) к сочетаниям клавиш на основе мета-клавиш вместо оригинальных сочетаний клавиш на основе Ctrl. Я делаю это в моем файле init.el.

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