如何在应用程序(例如 Google Chrome)中启用 Emacs 键绑定?

如何在应用程序(例如 Google Chrome)中启用 Emacs 键绑定?

有人能告诉我如何启用Emacs按键绑定Chrome吗?

我找到了一些链接,但它们要么没有明确提到如何做所以或不是我想要的(我不希望为了这个目的而运行外部工具)。

答案1

如果您使用 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 使用?!:)

答案2

从 Chrome 59 开始, 切换到 gtk3,设置gtk-key-theme-name为:Emacs~/.config/gtk-3.0/settings.ini

[Settings]
gtk-key-theme-name = Emacs

答案3

Cinnamon 有自己的设置:

gsettings set org.cinnamon.desktop.interface gtk-key-theme "Emacs" # use emacs
gsettings set org.cinnamon.desktop.interface gtk-key-theme "Default" # use default

答案4

gnome-tweaks直到我打开“键盘和鼠标”下的“Emacs 输入” (打开设置 GUI 的命令)后,它才对我起作用。我启用和禁用了其他选项;仅gnome-tweaks在我的系统上有效。

到目前为止,我已经看到了四种提议的解决方案(不包括基于 GTK-2 的解决方案,因为 Chrome 已经有一段时间使用 GTK-3 了):

  • gsettings set org.gnome.desktop.interface gtk-key-theme "Emacs"
  • [Settings] gtk-key-theme-name = Emacs在 ~/.config/gtk-3.0/settings.ini
  • “Emacs 输入”gnome-tweaks
  • 等待 Google 修补一些原本可以正常工作的东西。

所有这些系统似乎都是争夺按键绑定控制权的不同系统,其中一个(或上面未列出的系统)将获胜。这不是一个好的情况,但请注意,您可能需要查看列表。

此外,我在每次实验中都会退出并重新启动 Chrome(尽管我没有重新启动计算机或 X 会话)。我不知道这是否有必要 — 我不知道 Chrome 是否会“实时”检测到按键绑定或在启动时检查它 — 但它可以让实验更干净。

相关内容