Как включить привязки клавиш Emacs в приложениях, таких как Google Chrome?

33

Может кто-нибудь сказать мне, как включить Emacsсвязывание клавиш Chrome?

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

Айзекс
источник
Ваша первая ссылка указывает путь. Я бы догадался, типа gconftool-2 --set /desktop/gnome/interface/gtk_key_theme Emacsили, может быть gconftool-2 --type string --set /desktop/gnome/interface/gtk_key_theme Emacs.
Чан-Хо Су
Кажется, это не имеет никакого значения, я установил соответствующий элемент конфигурации и даже перезапустил всю свою систему, но Chrome не распознает для меня какие-либо сочетания клавиш Emacs ...
Джон Дж. Камиллери

Ответы:

38

Если вы используете gtk3, настройки находятся в libgtk-3-commonпакете, /usr/share/themes/Emacs/gtk-3.0/gtk-keys.cssи вы можете включить их с помощью:

gsettings set org.gnome.desktop.interface gtk-key-theme "Emacs"

И переключиться обратно:

gsettings set org.gnome.desktop.interface gtk-key-theme "Default"

Если вы используете gtk2, настройки находятся в libgtk2.0-commonпакете, /usr/share/themes/Emacs/gtk-2.0-key/gtkrcи вы можете включить их с помощью:

gconftool-2 --type=string --set /desktop/gnome/interface/gtk_key_theme Emacs

И если вы хотите , чтобы настроить сочетания клавиш вы можете скопировать настройки в ~/.themes/сcp -r /usr/share/themes/Emacs ~/.themes/

пс. значит ли это, что вам удалось выиграть битву с Unity, чтобы украсть все ваши ключи модификации для использования в Emacs ?! :)

aculich
источник
Спасибо за ответ, и я извиняюсь, что отвечаю поздно. Сейчас мне не нужно достигать того, что я описал, поэтому я не могу проверить. Но, кажется, выполнимое решение, так что +1
Исаак
1
Мне удалось отключить воровство ключей от единства. В основном, в разделе «Клавиатура» в Системных настройках вы переходите на вкладку «Ярлыки» в разделе «Окно». Отключить «Активировать меню окна». В разделе Launchers, Key, чтобы показать HUD, вы должны установить его в положение RIGHT ALT (или что-то еще). Проблемы исчезли! :)
МарковЧ1
Большое вам спасибо :) Продолжал делать конфетку gtk2, и она не работала ...
Джереми,
1
Здесь обсуждается ( stackoverflow.com/questions/126141/… ), как определить, какая версия gtk используется.
Мариус Хоферт
1
Оба метода не работают для chromium-browser, который является единственным приложением в Ubuntu 14.04, которое, как я обнаружил, не подчиняется настроенному связыванию ключей emacs. Любой намек?
Танкист 六四
11

По состоянию Chrome 59, который перешел на GTK3 , установленный gtk-key-theme-nameна Emacsв ~/.config/gtk-3.0/settings.ini:

[Settings]
gtk-key-theme-name = Emacs
хп.
источник
Ах, вот почему мои сочетания клавиш Emacs недавно перестали работать в Chrome. Благодарность!
Курт Дж. Сэмпсон
Это работает на Raspberry Pi под управлением Raspbian. Если файл settings.ini не существует, создайте его, перезапустите Chromium и нажмите клавишу Emacs.
Blisterpeanuts
5

Корица имеет свои настройки:

gsettings set org.cinnamon.desktop.interface gtk-key-theme "Emacs" # use emacs
gsettings set org.cinnamon.desktop.interface gtk-key-theme "Default" # use default
SystemBuilder
источник
3

Комбинации клавиш Emacs для любого приложения GTK, кроме Google Chrome, могут быть легко включены, просто следуйте инструкциям, которые вы нашли.

Emacs KeyBinding для Google Chrome , однако был не работает во время Вашего вопроса (дек 2012). Это ошибка из основной ветки разработки https://code.google.com/p/chromium/issues/detail?id=11480 . Это работает сейчас.

Ошибка была решена в 2013 году. Но версия Chromium, поставляемая с Ubuntu 14.04, все еще была ошибочной, вы можете сделать обновление безопасности, которое будет включать версию Chromium (v36) с исправленной этой ошибкой (но, как и с любым другим программным обеспечением, всего количество ошибок не уменьшается, то есть новые функции, вводящие новые ошибки вместо фиксированных. Для меня жизнь сложнее, так как я обновляю, потому что иероглифы перестали отображаться в названиях вкладок).

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

Танкист 六四
источник