Bagaimana cara mengaktifkan ikatan kunci Emacs di aplikasi, seperti Google Chrome?

33

Adakah yang bisa memberi tahu saya cara mengaktifkan Emacskeybind Chrome?

Saya menemukan beberapa tautan tetapi mereka tidak menyebutkan dengan jelas bagaimana melakukannya atau tidak apa yang saya inginkan (saya tidak ingin alat eksternal dijalankan untuk tujuan ini).

Ishak
sumber
Tautan pertama Anda menunjukkan caranya. Saya kira ketik gconftool-2 --set /desktop/gnome/interface/gtk_key_theme Emacsatau mungkin gconftool-2 --type string --set /desktop/gnome/interface/gtk_key_theme Emacs.
Chan-Ho Suh
Ini sepertinya tidak ada bedanya, saya mengatur item konfigurasi yang relevan dan bahkan me-restart seluruh sistem saya tetapi Chrome tidak mengenali ikatan kunci Emacs untuk saya ...
John J. Camilleri

Jawaban:

38

Jika Anda menggunakan gtk3, pengaturannya ada di dalam libgtk-3-commonpaket /usr/share/themes/Emacs/gtk-3.0/gtk-keys.cssdan Anda dapat mengaktifkannya dengan:

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

Dan untuk beralih kembali:

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

Jika Anda menggunakan gtk2, pengaturannya ada di dalam libgtk2.0-commonpaket /usr/share/themes/Emacs/gtk-2.0-key/gtkrcdan Anda dapat mengaktifkannya dengan:

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

Dan jika Anda ingin menyesuaikan keybindings Anda dapat menyalin pengaturan ke ~/.themes/dengancp -r /usr/share/themes/Emacs ~/.themes/

ps. jadi apakah ini berarti Anda telah berhasil memenangkan pertarungan melawan Unity untuk mencuri semua kunci modifikasi Anda kembali untuk digunakan Emacs ?! :)

aculich
sumber
Terima kasih atas jawabannya dan saya minta maaf terlambat. Saat ini saya tidak perlu mencapai apa yang saya jelaskan sehingga saya tidak bisa menguji. Tapi sepertinya itu solusi yang layak jadi +1
IsaacS
1
Saya berhasil mematikan pencurian kunci dari persatuan. Pada dasarnya, di bagian Keyboard dari Pengaturan Sistem Anda pergi ke tab Pintasan, bagian Jendela. Nonaktifkan "Aktifkan menu jendela". Di bagian Peluncur, Kunci untuk menampilkan HUD, Anda harus mengaturnya ke RIGHT ALT (atau yang lainnya). Masalah hilang! :)
MarkovCh1
Terima kasih banyak :) Terus melakukan conf gtk2, dan itu tidak berfungsi ...
Jérémie
1
Itu dibahas di sini ( stackoverflow.com/questions/126141/… ) bagaimana menentukan versi gtk yang digunakan.
Marius Hofert
1
Kedua metode ini tidak berfungsi untuk chromium-browser, yang merupakan satu-satunya aplikasi pada Ubuntu 14.04 yang saya temukan tidak mematuhi konfigurasi emacs-keybinding. Ada petunjuk?
Tankman 六四
11

Pada Chrome 59, yang beralih ke gtk3 , disetel gtk-key-theme-nameke Emacsdalam ~/.config/gtk-3.0/settings.ini:

[Settings]
gtk-key-theme-name = Emacs
xn.
sumber
Ah, jadi itu sebabnya gantungan kunci Emacs saya berhenti bekerja di Chrome baru-baru ini. Terima kasih!
Curt J. Sampson
Ini berfungsi pada Raspberry Pi yang menjalankan Raspbian. Jika settings.ini tidak ada, buat, restart Chromium, dan presto, binding kunci Emacs.
Blisterpeanuts
5

Kayu manis memiliki pengaturannya sendiri:

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
sumber
3

Emacs keybindings untuk aplikasi gtk apa pun kecuali Google Chrome dapat dengan mudah diaktifkan, cukup ikuti instruksi yang Anda temukan.

Emacs Kombinasi tombol untuk Google Chrome namun itu tidak bekerja pada saat pertanyaan Anda (Desember 2012). Ini adalah bug dari hulu https://code.google.com/p/chromium/issues/detail?id=11480 . Ini bekerja sekarang.

Bug telah dipecahkan pada tahun 2013. Tetapi versi Chromium yang dikirimkan dengan Ubuntu 14.04 masih disadap, Anda dapat melakukan pembaruan keamanan yang akan mencakup versi chromium (v36) dengan bug ini diperbaiki (tetapi seperti pada perangkat lunak lain, total jumlah bug tidak berkurang, yaitu, fitur baru memperkenalkan bug baru untuk menggantikan yang diperbaiki. Bagi saya hidup lebih sulit sejak saya memutakhirkan, karena ideograf berhenti ditampilkan dalam nama tab).

Tampaknya jawaban lain yang ditawarkan kepada Anda tidak menyadari bahwa pertanyaan Anda khusus untuk Chromium dan Emacs keybindings benar-benar tidak berfungsi di Chromium selama bertahun-tahun hingga 2014.

Tankman 六四
sumber