ไม่ใช่สิ่งที่คุณต้องการ แต่เกือบ ...
คุณสามารถทำการตั้งค่าคีย์บอร์ด X ใหม่ได้โดยใช้xmodmap
คำสั่ง คุณสามารถดูการตั้งค่าปัจจุบันได้โดยเรียกใช้xmodmap -pke
แต่ละคีย์โค้ด (ซึ่งเป็นค่าที่เกี่ยวข้องกับทุกคีย์บนแป้นพิมพ์ของคุณ) สามารถมีได้มากถึง 8 keysyms (ซึ่งโดยพื้นฐานแล้วคือเอาต์พุต) ที่แนบมากับมัน พวกเขามีดังนี้:
- เมื่อกดด้วยตัวเอง
- เมื่อกดปุ่ม Shift ด้วย
- เมื่อกดด้วยการเปิดใช้งานโหมดสวิตช์ (ดูเหมือนว่าจะล้าสมัย)
- เมื่อกดด้วยสวิตช์โหมดและเลื่อน (ดูเหมือนว่าจะล้าสมัย)
- เมื่อกดด้วย Alt-Gr (aka ISO_Level3_Shift ในข้อกำหนด xmodmap)
- เมื่อกดด้วย Alt-Gr และเลื่อน
ดังนั้นปัจจุบันคีย์ "h" ของฉันดูเหมือน:
H H h H H จังหวะ Hstroke
โดยที่ Hstroke keysym สร้างĦ
หากคุณไม่ได้ใช้ Alt-Gr เพื่อป้อนอักขระที่ไม่ใช่ ASCII คุณสามารถทำการแมป h, j, k และ l กับ Alt-Gr เพื่อทำสิ่งที่คุณต้องการ นี่จะเป็น:
xmodmap -e 'keycode 43 = h H h H Left Hstroke'
xmodmap -e 'keycode 44 = j J j J Up J'
xmodmap -e 'keycode 45 = k K k K Down ampersand'
xmodmap -e 'keycode 46 = l L l L Right Lstroke'
Alt-Gr ที่มีรายการ shift ไม่จำเป็นอย่างแน่นอนฉันแค่รักษาคุณค่าที่มีอยู่แล้ว คุณสามารถค้นหาค่ารหัสคีย์ได้โดยการเรียกใช้xev
คำสั่งจากเทอร์มินัล xev
แสดงกิจกรรม X เพื่อให้คุณสามารถกดปุ่มและค้นหาข้อมูลเกี่ยวกับมัน
ในการทำให้การตั้งค่านี้เป็นแบบถาวรคุณสามารถเพิ่มต่อไปนี้ลงใน. Xmodmap ในโฮมไดเร็กตอรี่ของคุณ
keycode 43 = h H h H Left Hstroke
keycode 44 = j J j J Up J
keycode 45 = k K k K Down ampersand
keycode 46 = l L l L Right Lstroke
การกด Alt-Gr นั้นไม่ดีเท่าการกด Alt เมื่อใช้ hjkl แต่คุณคิดว่าคุณอาจจะยากที่จะใช้งาน Alt เพราะมันใช้สำหรับการเข้าถึงเมนู คุณอาจใช้ข้อมูลในคำตอบนี้พร้อมกับเครื่องมือที่ Fraekkert กล่าวถึงเพื่อผูกเช่น Alt-Shift-h แทนซึ่งอาจเหมาะกับคุณมากกว่า
นอกจากนี้ยังอาจจะเป็นที่น่าสังเกตว่าคุณสามารถตั้งค่าโหมด vi ในทุบตี (หรือแล้วแต่คุณใช้เปลือก) set -o vi
โดยใช้ สิ่งนี้จะช่วยให้คุณมีพฤติกรรมเช่นเมื่อแก้ไขบรรทัดคำสั่งและประวัติ ฉันไม่เชื่อว่าสิ่งนี้จะดูที่. vimrc ของคุณดังนั้นอย่าคาดหวังว่าการทำแผนที่สำคัญของคุณจะใช้งานได้