Emacs-подобные сочетания клавиш в масштабе всей системы?

27

Есть ли способ установить Emacs-подобные сочетания клавиш (по крайней мере, подмножество, упомянутое ниже) для всей ОС? Это возможно в некоторых приложениях, таких как терминал, Emacs (см. Рисунок :) и, кроме того, через специальные плагины в некоторых других приложениях (Eclipse), но я настолько привык к Cf-через текст и никогда не приходилось переходить к стрелкам, которые я Я хотел бы иметь возможность делать это в масштабе всей системы, чтобы я мог делать это всякий раз, когда я печатаю - например, поиск песен в Rhythmbox, ввод текста в тире или HUD, написание писем в Thunderbird или Gmail ... Комбо, которые меня больше всего интересуют:

  • Ср - вперед
  • Cb - назад
  • Ca - дом
  • Ce - конец
  • Cd - удалить
  • Ck - удалить строку

(примечание для не-emacs пользователей - C означает Ctrl)

metakermit
источник

Ответы:

15

Основано на: /superuser//a/516847/205010

  1. Установите gnome-tweak-tool: sudo apt-get install gnome-tweak-tool

  2. Открой это: gnome-tweak-tool

  3. Перейти Keyboard and Mouseи изменить Key ThemeнаEmacs

Эяль Левин
источник
1
это довольно круто, но многие вещи не работают, например, Cb, Ck и т. д. решение, вероятно, включает все в emacs, например, браузер, электронную почту и т. д., а не пытается выдвинуть привязки клавиш за пределы emacs
bph
Где это не работает? В моем случае это работает в большинстве случаев довольно хорошо.
Эяль Левин
Кажется, что если приложение реализует эквивалентный ярлык, то это имеет приоритет. Что неудобно
бут
Я не думаю, что это происходит для всех приложений. Я несколько раз сталкивался в Chrome с тем, что глобальные ярлыки Emacs имеют приоритет над определенными ярлыками веб-приложений.
Эяль Левин
В моем тестовом случае я использовал Yahoo Mail и Gmail в браузере Firefox. в обоих случаях Ca Ce Cf Cp Cn работал как положено, но Cb переключал жирный шрифт, и Ck открывал диалог ссылок. Так что для моего конкретного приложения это немного попало - мне придется попробовать chrome и посмотреть, будет ли он отличаться
bph
14

Мне удалось решить проблему с помощью AutoKey , как рекомендовано в этом ответе . Вот некоторые из моих фраз:

content                     |   hotkey             |   description
---------------------------------------------------------------
<ctrl>+f                    |   <ctrl>+<alt>+f     | replace the find operation
<home>                      |   <ctrl>+a           | begining of line
<end>                       |   <ctrl>+e           | end of line
<left>                      |   <ctrl>+b           | back one letter
<right>                     |   <ctrl>+f           | forward one letter
<delete>                    |   <ctrl>+d           | delete one letter
<home><shift>+<end><delete> |   <ctrl>+k           | kill line

(да, комбо линии убийства было противно найти :)

Вы могли бы продолжать заменять вещи, но я не хочу, чтобы умственное переназначение становилось большим (например, Ctrl + N не открывает новое окно, а переходит к следующей строке). В целом, AutoKey - классное приложение!

Во всяком случае, теперь у меня есть эргономичность Emacs, заключающаяся в том, что мне никогда не приходится оставлять «буквенные ключи» в Ubuntu - в каждом текстовом поле, которое я редактирую. Yeiii!

Обновление: по мере того, как я углублялся в игру с AutoKey для точной настройки всего, я внес несколько изменений. Вы можете увидеть мою полную конфигурацию AutoKey Ubuntu-Emacs (и установить ее) в моем репозитории dotfiles git .

metakermit
источник
Поэтому я попытался переслать одно слово <alt> + f, но оно продолжало конфликтовать с открытием файла в emacs. Вы сталкивались с этой проблемой? как ты решил это?
Sambatyon
4

Есть еще одно решение, не связанное со сторонними приложениями, которые размещены здесь, сочетания клавиш emacs в Ubuntu 12.04.

П. Долженко
источник
Использование этого метода не будет работать в таких приложениях, как Thunderbird, где Ctrl + F будет интерпретироваться как «Найти строку», а не «Переместить курсор вперед».
Holocronweaver
@holocronweaver правда, я разочаровался в том, чтобы заставить работать ключи Emacs в Thunderbird, но большинство других входов (особенно в Chrome) почти работают. Я не могу не чувствовать, что решение AutoKey - это путь к тому, чтобы никогда не прекращать суету и разочарование :) Тем не менее, вы уже пробовали решение, предложенное kermit666, и если да, то работало ли оно для вас?
dolzenko
После небольшого редактирования, чтобы оно соответствовало моим вкусам, решение AutoKey довольно хорошо сработало в Firefox и Thunderbird в Ubuntu 14.04. Еще больше тестов, чтобы сделать.
Holocronweaver