ปุ่มกดที่มีลักษณะคล้าย emacs ทั้งระบบ?


27

มีวิธีการตั้งค่าแป้นพิมพ์ลัดคล้าย Emacs (อย่างน้อยชุดย่อยที่กล่าวถึงด้านล่าง) สำหรับระบบปฏิบัติการทั้งหมดหรือไม่? สิ่งนี้เป็นไปได้ในบางแอพเช่นเทอร์มินัล Emacs (ไปที่รูป :) และเพิ่มเติมผ่านปลั๊กอินพิเศษในแอพอื่น ๆ (Eclipse) แต่ฉันก็คุ้นเคยกับการอ่านข้อความและไม่ต้องข้ามไปยังลูกศรที่ฉัน ต้องการทำทั้งระบบเพื่อที่ฉันจะสามารถทำได้ทุกเมื่อที่ฉันพิมพ์ - เช่นค้นหาเพลงใน Rhythmbox พิมพ์สิ่งต่าง ๆ ลงในเส้นประหรือ HUD เขียนจดหมายใน Thunderbird หรือ Gmail ... คอมโบที่ฉันสนใจมากที่สุดคือ:

  • Cf - ไปข้างหน้า
  • Cb - ย้อนกลับ
  • แคลิฟอร์เนีย - บ้าน
  • จบ -
  • Cd - ลบ
  • Ck - ลบบรรทัด

(หมายเหตุสำหรับผู้ใช้ที่ไม่ใช่ emacs - C หมายถึง Ctrl)

คำตอบ:


15

อ้างอิงจาก: https://superuser.com/a/516847/205010

  1. ติดตั้งเครื่องมือ gnome-tweak: sudo apt-get install gnome-tweak-tool

  2. เปิด: gnome-tweak-tool

  3. ไปที่Keyboard and Mouseและเปลี่ยนKey Themeเป็นEmacs


1
มันค่อนข้างเจ๋ง แต่สิ่งต่าง ๆ จำนวนมากไม่ทำงานเช่น Cb, Ck ฯลฯ โซลูชันอาจดึงทุกอย่างเป็น emacs เช่นเบราว์เซอร์อีเมล ฯลฯ แทนที่จะพยายามผลักปุ่มลัดออกไปเกิน emacs
bph

มันไม่ทำงานที่ไหน ในกรณีของฉันมันใช้งานได้ดีเกือบตลอดเวลา
Eyal Levin

ดูเหมือนว่าหากแอปใช้ทางลัดที่เทียบเท่าแล้วจะมีความสำคัญ ซึ่งน่าอึดอัดใจ
bph

ฉันไม่คิดว่ามันจะเกิดขึ้นสำหรับแอพทั้งหมด ฉันพบใน Chrome สองสามครั้งที่ทางลัดทั่วโลกของ Emacs มีความสำคัญเหนือกว่าทางลัดแอปทางเว็บที่เฉพาะเจาะจง
Eyal Levin

กรณีทดสอบของฉันใช้อีเมล yahoo และ gmail ในเบราว์เซอร์ Firefox ในทั้งสองกรณี Ca Ce Cf Cp Cn ทำงานได้ตามที่คาดไว้ แต่ Cb สลับแบบอักษรที่เป็นตัวหนาและ Ck นำเสนอไดอะล็อกลิงค์ ดังนั้นสำหรับแอปพลิเคชันเฉพาะของฉันมันเป็นเรื่องฮิตและพลาดไปหน่อย - ฉันจะต้องลองใช้โครเมียมและดูว่ามันแตกต่างหรือไม่
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

(ใช่คำสั่งผสม kill line น่ารังเกียจมากที่จะหา :)

คุณสามารถเปลี่ยนสิ่งต่าง ๆ ได้ แต่ฉันไม่ต้องการให้การแมปทางจิตมีขนาดใหญ่ขึ้น (เช่น ctrl + n ไม่ได้เปิดหน้าต่างใหม่ แต่ไปที่บรรทัดถัดไป) ทั้งหมดใน AutoKey เป็นแอพสุดเจ๋ง

อย่างไรก็ตามตอนนี้ฉันได้รับการออกแบบตามหลักสรีรศาสตร์ของ emacs โดยที่ไม่ต้องทิ้ง "ปุ่มตัวอักษร" ไว้ใน Ubuntu - ในทุกกล่องข้อความที่ฉันกำลังแก้ไข Yeiii!

อัปเดต:เมื่อฉันเล่น AutoKey อย่างลึกซึ้งยิ่งขึ้นเพื่อปรับแต่งทุกอย่างฉันจึงทำการเปลี่ยนแปลงบ้าง คุณสามารถดูการตั้งค่าทั้งหมดของฉัน AutoKey อูบุนตู Emacs (และติดตั้ง) ในของฉันdotfiles คอมไพล์ repo


ดังนั้นฉันจึงลองไปข้างหน้าหนึ่งคำ <alt> + f แต่มันยังคงขัดแย้งกับการเปิดไฟล์เป็น emacs คุณประสบปัญหานี้หรือไม่? คุณแก้ไขมันอย่างไร
Sambatyon

4

มีวิธีแก้ไขปัญหาอื่นที่ไม่เกี่ยวข้องกับแอพของบุคคลที่สามที่โพสต์ที่นี่emacs keybindings ใน ubuntu 12.04


การใช้วิธีนี้จะไม่ทำงานในแอพพลิเคชั่นเช่นธันเดอร์เบิร์ดโดยที่ Ctrl + F จะถูกตีความว่าเป็น "Find String" แทนที่จะเป็น "Move Cursor Forward"
holocronweaver

@holocronweaver จริงแน่นอนฉันยอมแพ้ในการรับ Emacs keys ที่ทำงานในธันเดอร์เบิร์ดเศร้า แต่อินพุตอื่น ๆ ส่วนใหญ่ (โดยเฉพาะใน Chrome) เกือบใช้งานได้ ฉันอดไม่ได้ที่จะรู้สึกว่าวิธีการแก้ปัญหา AutoKey เป็นหนทางที่จะไม่มีวันสิ้นสุดความยุ่งเหยิงและความหงุดหงิดเช่นกัน :) คุณเคยลองใช้วิธีแก้ปัญหาที่เสนอโดย kermit666 หรือไม่และถ้าเป็นเช่นนั้น
dolzenko

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