ฉันจะเปิดใช้งานการผูกคีย์ 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
Chan-Ho Suh

สิ่งนี้ดูเหมือนจะไม่สร้างความแตกต่างใด ๆ เลยฉันได้ตั้งค่ารายการที่เกี่ยวข้องและแม้กระทั่งรีสตาร์ททั้งระบบของฉัน แต่ Chrome ไม่รู้จักปุ่มลัด Emacs ใด ๆ สำหรับฉัน ...
John J. Camilleri

คำตอบ:


37

หากคุณใช้ 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/

PS นี่หมายความว่าคุณจัดการเพื่อเอาชนะการต่อสู้กับ Unity เพื่อขโมยคีย์การปรับเปลี่ยนทั้งหมดของคุณเพื่อให้ Emacs ใช้งานหรือไม่! :)


ขอบคุณสำหรับคำตอบและฉันขอโทษที่ตอบช้า ตอนนี้ฉันไม่จำเป็นต้องบรรลุสิ่งที่ฉันอธิบายดังนั้นฉันจึงไม่สามารถทดสอบได้ แต่ดูเหมือนว่าจะเป็นทางออกที่เป็นไปได้ดังนั้น +1
IsaacS

1
ฉันจัดการเพื่อปิดการขโมยกุญแจจากความสามัคคี โดยพื้นฐานแล้วในส่วน Keyboard ของ System Settings คุณไปที่แท็บทางลัดส่วน Window ปิดใช้งาน "เปิดใช้งานเมนูหน้าต่าง" ในส่วนตัวเรียกใช้งานปุ่มเพื่อแสดงฮัดคุณควรตั้งค่าเป็น RIGHT ALT (หรืออย่างอื่น) ปัญหาหายไป! :)
MarkovCh1

ขอบคุณมาก :) เก็บ gtk2 conf ไว้และมันไม่ทำงาน ...
Jérémie

1
มีการกล่าวถึงที่นี่ ( stackoverflow.com/questions/126141/… ) วิธีตรวจสอบว่าใช้ gtk เวอร์ชันใด
Marius Hofert

1
ทั้งสองวิธีไม่ได้ผลกับโครเมียมเบราว์เซอร์ซึ่งเป็นแอพพลิเคชั่นเดียวใน Ubuntu 14.04 ที่ฉันพบว่าไม่เชื่อฟังการกำหนด emacs-keybinding คำใบ้ใด ๆ
Tankman 六四

11

ในฐานะของ Chrome 59 ซึ่ง เปลี่ยนไป gtk3ตั้งgtk-key-theme-nameไปEmacsใน~/.config/gtk-3.0/settings.ini:

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

อ่านั่นคือสาเหตุว่าทำไมปุ่มลัดของ Emacs ของฉันจึงหยุดทำงานใน Chrome เมื่อไม่นานมานี้ ขอบคุณ!
Curt J. Sampson

ใช้งานได้กับ Raspberry Pi ที่รัน Raspbian หาก settings.ini ไม่มีอยู่ให้สร้างรีสตาร์ท Chromium และ presto การเชื่อมโยงคีย์ 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

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 ยังคงถูกบั๊กคุณสามารถทำการอัปเดตความปลอดภัยซึ่งจะรวมรุ่นของโครเมียม (v36) ด้วยการแก้ไขข้อบกพร่องนี้ (แต่เช่นเดียวกับซอฟต์แวร์อื่น ๆ ทั้งหมด จำนวนข้อผิดพลาดไม่ลดลงนั่นคือคุณสมบัติใหม่ที่แนะนำข้อบกพร่องใหม่เพื่อแทนที่ค่าคงที่สำหรับฉันชีวิตนั้นยากขึ้นตั้งแต่ฉันอัปเกรดเพราะ ideographs หยุดแสดงในชื่อแท็บ)

ดูเหมือนว่าคำตอบอื่น ๆ ที่เสนอให้คุณไม่ทราบว่าคำถามของคุณคือ Chromium ที่เฉพาะเจาะจงและการผูกคีย์ Emacs ไม่ได้ทำงานใน Chromium เป็นเวลาหลายปีจนถึงปี 2014

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.