Каков наилучший способ избежать появления “Emacs Pinky”?[закрыто]

StackOverflow https://stackoverflow.com/questions/52492

  •  09-06-2019
  •  | 
  •  

Вопрос

Я только начал использовать GNU Emacs в качестве текстового редактора, и я обеспокоен тем, что могу столкнуться с "Emacs Мизинец" из-за необходимости постоянно нажимать клавишу управления мизинцем, как это требуется при использовании Emacs.Как я могу избежать потенциального получения такого рода повторяющихся травм от перенапряжения?

Это было полезно?

Решение

Создание колпачковый замок другая клавиша управления - хорошее место для начала.Инвестируйте в эргономичную клавиатуру.Некоторые пользователи emacs даже заходят так далеко, что используют ножные педали для управления и meta...

Другие советы

Настройте так, чтобы клавиша пробела работала и то , и другое как пространство и контроль;когда Космос сжимается в одиночку, как пробел, и сжимается с другими, как ctrl.Итак Космос + x рассматривается как Ctrl + x.

Вы можете сделать это с помощью AutoHotkey в Windows, а также с помощью "домашний модификатор" в Xorg в Linux.(X, но только для Linux.) Вы можете использовать Karabiner (формально известный как ключевая карта 4macbook) в Mac.(На самом деле, я ам автор at-home-модификатора.=)

Вы можете сделать больше, если у вас есть клавиатура с большим количеством клавиш по всему пространству, например, японские клавиатуры:Японская клавиатура http://www.owltech.co.jp/products/keyboard/KB86STD/KB86STD_B-320.jpg

Мой нижний ряд в основном EscБСКосмосВойтиВкладка, но при использовании в качестве модификаторов это АльтСдвигCtrlСдвигАльт.(Например, если вы будете удерживать нажатой Esc сначала Космос, а потом это Альт+Космос, но Пространство , за которым следует Esc, это Ctrl+Esc.Если вы нажмете Космос, Esc, и x, тогда это ctrl + альт + x.) Все может быть нажат с помощью большие пальцы.Вы можете заказать японскую клавиатуру в say amazon.com.Тебе не обязательно говорить по-японски.

Это чрезвычайно удобно.Например, для firefox (извините, не emacs) выделите ссылку и нажмите Ctrl + Enter;затем он будет открыт в новой вкладке.(Также нажав Shift, вы переключитесь на новую вкладку, а не останетесь на текущей.)

(Приведенная выше картинка - это та самая автор at-home-модификатора использует.Однако производитель больше не продает эту модель.)

Нажми на ножную педаль!(У меня есть кинезис.) После того, как вы это сделаете, отключите map control и capslock, чтобы заставить себя использовать ноги.

(К вашему сведению, переназначение capslock поможет, но после достаточной очистки за один день это не будет полным решением.)

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

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

Мне всегда было любопытно, почему существует такое большое сообщество программистов, писателей, гиков и т.д.пока не нашли супер простого и эффективного решения этой проблемы.Просто:1) возьмите небольшой лист бумаги, сделайте из него бумажный шарик;2) с помощью скотча приклейте его к левой клавише ctrl (временно убрав его с этого места).;3) при письме нажимайте эту клавишу тыльной стороной левой ладони - теперь эта клавиша находится выше других, и вы можете сделать это легко.Таким образом, вам не нужно покупать uber ergo-клавиатуры или переназначать клавишу ctrl на capslock (которую вы в конечном итоге все равно нажмете мизинцем)...

Так много дискуссий о такой маленькой проблеме.

Переназначение Влево-Ctrl и Колпачки-Фиксатор так что они там, где и должны быть:

[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Keyboard Layout] "Scancode Map"=hex:00,00,00,00,00,00,00,00,03,00,00,00,3a,00,1d,00,1d,00,3a,00,00,00,00,00

 

Я полностью согласен с решением переназначить caps-lock, это очень помогает.Чтобы пойти еще дальше, я попробовал, и мне понравилось Привязки клавиш Ergoemacs.Проект активно развивается и поддерживается достаточно хорошо.Я лично не использую его, потому что он не интегрирован с Mac OS X (некоторые ключи EMACS интегрированы в Cocoa), хотя, похоже, кто-то опубликовал файл inputrc с привязками клавиш Ergoemacs.Еще один трюк, с которым я играл, - это включение стикеров.Он поддерживается на многих платформах и устраняет некоторые проблемы, характерные для аккордирования (в отличие от простого чрезмерного использования).:очевидно, это рекомендовано в emacswiki: http://www.emacswiki.org/emacs/StickyModifiers

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

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

В дополнение к более удобному вызову команд, у меня есть аккорды для вставки таких вещей, как

Best wishes,
Arne

Я ненавижу писать электронные письма без этого ☺

Также я использую режим блокировки управления для таких вещей, как flyspell, где мне постоянно нужен контроль.Это модальное редактирование с использованием реальных ярлыков emacs.

Аккорды, которые я использую чаще всего, следующие

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

Что касается проблемы "Emacs pinky", я заметил, что у нескольких людей есть привязки клавиш "anti-Emacs-pinky" в их .emacs, например, пользователь "Paul Nathan" (17,5 тыс. просмотров, когда я набираю это) здесь:

Каковы хорошие пользовательские привязки клавиш в emacs?

Тогда точно известно, что многие люди предпочитают vi способ и пользовательский viper-режим Emacs.

Я думаю, что основной проблемой в Emacs по умолчанию является чрезмерная зависимость от CTRL и, более конкретно, C-x и C-f / C-b.Эти три действительно ужасны, потому что это означает, ИМХО, болезненное искажение пальцев.

Итак, для меня сначала проблема должна быть определена:в чем же проблема?Проблема заключается в чрезмерной зависимости по умолчанию от CTRL, в том факте, что CTRL обычно плохо расположен на большинстве клавиатур, и в том факте, что большинство существующих клавиатур (я бы предположил, что более 99,9% всех когда-либо созданных клавиатур) являются полным хламом.

Итак, что же такое мой решение этой проблемы?

  • Я пользуюсь хорошей механической клавиатурой и набираю текст в сенсорном режиме.Люди, действительно серьезно относящиеся к этому, вероятно, выложат $ $ $ за очень хорошую разделенную и матричную клавиатуру (например, Kinesis Advantage)...Потому что раскололся и matrix - это единственный вид клавиатур, который имеет смысл с эргономической точки зрения (это даже не обсуждается).К сожалению, я печатаю уже три десятилетия и не могу адаптироваться к матричной раскладке, поэтому использую старую (испорченную) клавиатуру в шахматном порядке.Если вы собираетесь использовать расположенную в шахматном порядке клавиатуру, по крайней мере, возьмите ту, у которой есть хороший переключатель (например, пружины с изгибом, как в переключателях IBM Model M или Cherry MX, или Topres, как в Happy Hacking Keyboard Pro).Будьте готовы выложить 500 долларов и больше, если надеетесь найти разъемную + "механическую" модель в шахматном порядке, такую как Cherry MX-5000 (*) или IBM M15.

Итак:короче говоря, если вы действительно серьезно относитесь к этому, выбирайте Kinesis Advantage (они используют коммутаторы Cherry MX, и вы даже можете выбрать свой конкретный коммутатор, если я не ошибаюсь).

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

Если вы не хотите идти по "механическому" пути и считаете резиновые купола прекрасными клавиатурами (я считаю их ненужными, но у каждого свои предпочтения), то, по крайней мере, выберите хороший резиновый купол.MS'Ergo 4K был бы хорошим выбором (еще раз:это резиновый купол, так что для меня это хлам, разрушающий пальцы, но это дело вкуса).

  • как только вы начнете использовать хорошую клавиатуру, замените CAPS-LOCK на CTRL.Может быть сделано на любой операционной системе.Это тривиально, и есть множество ссылок на эту тему.

  • Переназначьте клавиши Emacs, чтобы перестать чрезмерно полагаться на CTRL.Первый CTRL-x ужасен.Это действительно, должно быть, самый худший короткий путь в истории.Но вы можете переназначить ctl-x-map на то, что вы хотите.Я делаю это в своем второстепенном режиме переназначения:

    (определить-ключ my-keys-minor-mode-map (kbd "C-,") ctl-x-map)

С-, возможно, вам не подойдет:выбери что-нибудь другое...

Тогда возникает проблема с перемещением курсора.Я думаю, что это важный момент для "текстового редактора".Даже если я обычно использую все прекрасные функции Emacs для быстрого перемещения по текстовым буферам вместо "перемещения курсора", мне все равно довольно часто приходится перемещать курсор "вручную".

C-f / C-b, должно быть, два самых глупых сочетания клавиш для перемещения курсора.

Я использую M-{i, j, k, l}.Поэтому люди предпочитают {hjkl} вместо {ijkl}, но мне нравится {ijkl}, потому что он воспроизводит перевернутую Т-образную стрелку.Мне также нравится тот факт, что когда вы, как печатающая машинка, находитесь в своем домашнем ряду, у вас уже есть три пальца на {jkl}.Никаких безумных движений пальцем, чтобы дотянуться до "f" или "b".:в этом нет никакого смысла.

И последнее, но не менее важное:когда вы не печатаете, делайте отдых твои пальцы на клавиатуре.Для этого, конечно, вам нужна клавиатура с хорошим переключателем, который обладает достаточным сопротивлением, чтобы не включаться, когда вы просто кладете клавиши на клавиатуру.

Естественная клавиатура Microsoft была очень, очень хороша для меня.Я использую emacs более 10 часов в день без каких-либо проблем.

Мой совет состоял бы в том, чтобы попробуйте нажимать большими пальцами клавиши-модификаторы (control, alt). когда они находятся в пределах досягаемости.На клавиатурах с более короткой клавишей пробела можно нажимать Alt (Meta), даже не сгибая большой палец внутрь.Вы можете переназначить, напримерщелкните правой кнопкой мыши Alt для управления и таким образом получите удобный доступ как к Control, так и к Alt.Это также возможно на клавиатурах MS Natural.

Рассмотрим Кинезис Очерченный клавиатура.Мне потребовалось около месяца, чтобы освоиться с моей клавиатурой, и теперь я считаю ее идеальной клавиатурой Emacs, даже без ножной педали.

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

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

Например, предположим, вы хотите нажать <CTRL-K>.На QWERTY-клавиатурах, <K> находится справа, поэтому нажмите <CTRL> своей слева рукой и <K> своим правильно рука.Как только вы привыкнете к системе, она будет работать нормально.

Согласно @Alasdair, переназначьте Ctrl на "Caps Locks" или в другое место: инструкции для различных платформ.

P.S.Я немного удивлен, что это не может быть сделано с помощью функции elisp.

Еще один подход:если вы хотите избежать появления "emacs pinky", просто не нажимайте клавишу управления мизинцем.

При необходимости переназначьте клавиши на вашей клавиатуре, чтобы они шли в следующем порядке:

[Ctrl][Alt][ Пробел][Alt][Ctrl]

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

Отличным инструментом для простого переназначения клавиш клавиатуры в Windows является Автоотключение

В Ubuntu мне удалось сделать это с помощью:Настройки клавиатуры / Раскладки / Другие параметры

Попробуй режим гадюки, который является эмулятором vi в emacs.Как человек, который за последние 25 лет несколько раз переключался между vi / emacs / vim, я наконец-то пробую viper-режим в emacs, и мне это нравится.Я нахожу команды vi более удобными, но я все еще могу сохранить расширенные функции emacs, которые мне нравятся.

Я использую emacs и bash каждый день, и у меня есть capslock в качестве дополнительной левой клавиши управления, как и предполагалось VT100.Пока никто не упомянул о лучшем способе сделать это на X11.(на самом деле, это специфично для сервера X.org/xfree86 X, который в наши дни использует все):

setxkbmap -option ctrl:nocaps

 Or edit your xorg.conf to have
Section "InputDevice"
        Identifier  "Generic Keyboard"
        Driver      "kbd"
        Option      "XkbRules" "xorg"
        Option      "XkbModel" "pc105"
        Option      "XkbLayout" "us"
        Option      "XkbOptions" "ctrl:nocaps"
        Option      "Autorepeat" "200 40"
EndSection

(XkbOptions и Autorepeat - это то, что я добавил к предварительно сгенерированному.Тогда X будет запускаться с правильным сопоставлением клавиш каждый раз, и вам не нужно искать, куда поместить setxkbmap, чтобы оно выполнялось каждый раз, когда вы входите в систему и запускаете свой оконный менеджер.)

Хотя, как упоминал боском, в gnome действительно есть менеджер клавиатуры.

К вашему сведению, emacs изначально был написан для лисп-машин MIT с клавишные "space cadet".X11 имеет клавиши-модификаторы super, hyper, alt и meta.Иногда "клавиши Windows" на клавиатурах ПК отображаются на Super.Их удобно привязывать к материалам оконного менеджера (например,переключать виртуальные рабочие столы), потому что почти ни одно приложение обычно их не использует.

Поместите модификаторы туда, где они были означало Для быть:по обе стороны от клавиши пробела, где их можно нажимать большим пальцем (или другой цифрой по вашему выбору) с противоположной стороны от цифры, нажимающей измененную букву (так что C-g - это большой палец правой руки при нажатии Ctrl и левый указательный при нажатии 'g', а C-k - это большой палец левой руки при нажатии Ctrl и средний правый при нажатии 'k').Вы заметите, что правильная последовательность, изнутри наружу, - это Ctrl Meta Super Hyper .

Как вы это сделаете, зависит от вашей операционной системы и вашей клавиатуры.Для Windows, возможно, вам захочется начать здесь.В Mac OS X вы можете заглянуть в Системные настройки > Клавиатура и мышь> Клавиши-модификаторы.Для Linux существует тысяча xmodmap - карта и XKB Руководства.

чтобы Перекусить,

вчера я нашел решение, согласно которому мы можем установить общесистемную привязку клавиш Ergo EMACS на Mac.

Хитрость заключается в том, чтобы использовать систему привязки клавиш mac os x, чтобы у вас была общесистемная привязка клавиш ERGO EMACS к клавише Control.Затем в настройках операционной системы поменяйте местами клавишу Control и Cmd.

Таким образом, вы получаете привязку клавиш Ergo EMACS ко всей системе с модификатором рядом с пробелом.Недостатком, конечно, является то, что обычная клавиша Mac Cmd + теперь находится в углу клавиатуры.Итак, это компромисс между тем, используете ли вы большинство приложений для редактирования текста или ярлыки приложений.

мог бы попробовать сделать это здесь:http://code.google.com/p/ergoemacs/wiki/ErgoEmacs_keys_system_wide

кроме того, несколько лет назад я попробовал обычную привязку клавиш для всей операционной системы Mac, но некоторые приложения cocoa по-прежнему ее не поддерживают.Смотрите здесь снизу

Как создать привязку клавиш В Mac OS X

но, возможно, сейчас все стало лучше.

У меня тоже есть клавиатура MS natural, и она потрясающая.Мне удалось приучить себя использовать тыльную сторону левой руки (ниже мизинца) для нажатия клавиши Ctrl.

Даже после переназначения капслок стать контроль, вам все равно придется нажать на нее мизинцем - по крайней мере, я это делаю, потому что мой безымянный палец не дотягивается до нее для такой команды, как C-g.Пользоваться мизинцем вообще не рекомендуется, верно?

У меня MacBook Pro, и я только что переназначил на правой стороне клавиатуры, чтобы стать контроль.Вот так, например,, C-g становится нажатием клавиши, которое я выполняю обеими руками, большим пальцем правой руки на и мой указательный палец левой руки на g.

Посмотрим, поможет ли это с моим RSI.Кто-нибудь еще делал это?

Одна из первых вещей, которые я делаю на новой машине, - это переназначение Caps Lock для нового элемента управления.

Погуглите, там полно .reg доступные файлы, которые сделают это безболезненно для вас в Windows.

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

Я могу без каких-либо проблем использовать клавишу управления в западном или юго-западном положении.Многие разработчики клянутся, что клавиша управления находится в западной позиции и только в западной позиции, и что все остальное испортит ваш мизинец.Единственное, что, как мы знаем наверняка, приводит к тому, что RSI не набирается, - это слишком много набора текста.Попробуйте type-break-mode и посмотрите, помогут ли несколько регулярных перерывов.

Купите Счастливая Взламывающая Клавиатура у которого есть Ctrl в нужном месте (Caps Lock перемещен в другое место).Он обладает отличным откликом и настраивается с помощью DIP-переключателей для максимальной интеграции в Mac, Windows и Linux (например, вы можете переключать, что такое Alt, а что такое клавиша Windows прямо с клавиатуры, программное обеспечение не требуется).

Он также занимает очень мало места, если это соответствует вашему вкусу.

Поскольку эта тема все еще вроде как продолжается, я добавлю свои два цента:

С emacs или без него клавиша ctrl полезна для множества приложений в Linux или Windows:копировать, вырезать, вставить, найти, закрыть, выйти...Я постоянно пользуюсь этим средством.Итак, как предлагали другие, я хочу, чтобы это было рядом с пробелом, чтобы я мог использовать свой большой палец.И так оно и есть по умолчанию на Mac, где для всего этого используется клавиша cmd:

[ctrl] [alt] [cmd] [пробел]

Итак, я использую клавиатуру Mac на своем компьютере Linux и настраиваю клавишу cmd в качестве второй клавиши ctrl (в Ubuntu Lucid:Настройки клавиатуры > Раскладки > Параметры > Поведение клавиш Alt / Win > Управление сопоставлено клавишам Win (и обычным клавишам Ctrl))

[ctrl] [alt] [ctrl] [spacebar]

Другие преимущества:* Когда мне иногда нужно использовать Mac, вырезанные / вставленные / etc находятся в том же месте, к которому я привык.* ctrl + tab (с настоящей клавишей ctrl) по-прежнему перемещается по вкладкам браузеров и других приложений на обеих платформах.

Недостатком этого плана является то, что клавиша alt переместилась влево, поэтому команда alt + tab (которую я использую для переключения окон) больше не соответствует mac-эквиваленту cmd + tab.Но я все еще могу ударить по нему большим пальцем, и для меня это все равно гораздо меньшее зло, чем сломать мизинец.Да, я знаю, что мог бы просто сделать ctrl + tab переключателем окон, но тогда настоящая клавиша ctrl не работает для переключения вкладок.Кроме того, с переходом приложений в браузер стратегии навигации по окнам / вкладкам некоторое время будут меняться, но основы, такие как вырезание / вставка, никуда не денутся, поэтому я хочу, чтобы они были заблокированы.У меня под большим пальцем.

(Конечно, если бы вы хотели использовать emacs на Mac, я думаю, вы бы вернулись к исходной точке ...)

На самом деле я сделал свой собственный хак, чтобы избежать использования клавиши ctrl.Теперь я использую клавишу ПРОБЕЛА.Это небольшая программа для X изменяет поведение клавиши пробела, так что, когда она используется в комбинации, она добавляет к ней модификатор control.При самостоятельном использовании он ведет себя нормально при выпуске.Таким образом, вам вообще не придется использовать свой мизинец!У меня это сработало идеально.

Я не программист, и мне тоже трудно объяснять идеи.Я нахожусь на мини-ноутбуке Dell.Сенсорная панель мыши находится в том месте, где покоятся мои большие пальцы.Моя левая кнопка на сенсорной панели действует как клавиша управления:Кончиком большого пальца я нажимаю на нее и редактирую в emacs, как обычно.Я собирался сопоставить правую кнопку сенсорной панели с alt, но вместо этого я сделал следующее:Я нажимаю кнопку, и клавиша управления нажимается (блокируется).Я нажимаю на нее еще раз, и управление отпускается.Это не только улучшило самочувствие моего мизинца, но и ускорило редактирование в два раза.(согласно моим часам в режиме организации) Трудно объяснить, насколько хорошо это работает.Для того чтобы сделать это, я использовал следующие два приложения:xbindkeys xdotool Мой конфигурационный файл xbindkeys:

###########################
# xbindkeys configuration #
###########################
# left mouse button ctrl key
"xdotool keydown ctrl"
b:1
"xdotool keyup ctrl"
control + b:1  +  Release
# vi wanna be style editing
"xdotool keydown ctrl"
release+b:3
"xdotool keyup ctrl"
release+control+b:3
# -------------------------

Прежде чем экспериментировать с этими идеями, обязательно ознакомьтесь со справочными страницами.Не открывайте ничего важного.Мне пришлось несколько раз отключить мой оконный менеджер прежде чем все исправить.Примечания:Я использую xmodmap для выполнения всех обычных действий, т.е.caps ---> control (не полное решение), меняем местами alt и control.(на ноутбуке все в порядке, но у меня сводит пальцы) Я использую файл конфигурации window manager (stumpwm) для создания привязок для загрузки правильного сопоставления ключей файл.(в зависимости от моего настроения на день) Я уверен, что все это можно реализовать в другой среде.Моя розовая боль прошла, мое редактирование идет быстрее.

Попробуйте плагин God-Mode, он неплохой.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top