Không chính xác những gì bạn đang yêu cầu, nhưng gần ...
Bạn có thể sắp xếp lại cài đặt bàn phím X bằng xmodmap
lệnh. Bạn có thể thấy các cài đặt hiện tại bằng cách chạyxmodmap -pke
Mỗi mã khóa (là một giá trị được liên kết với mọi phím trên bàn phím của bạn) có thể có tối đa 8 phím (chủ yếu là đầu ra) được gắn vào nó. Chúng là như sau:
- Khi tự ép
- Khi nhấn với ca
- Khi được nhấn với chế độ chuyển đổi Chế độ được bật (dường như đã lỗi thời)
- Khi được nhấn bằng Công tắc chế độ và dịch chuyển (dường như đã lỗi thời)
- Khi được nhấn bằng Alt-Gr (còn gọi là ISO_Level3_Shift theo thuật ngữ xmodmap)
- Khi nhấn bằng Alt-Gr và shift
Vì vậy, hiện tại phím "h" của tôi trông như sau:
H H H Hstroke Hstroke
trong đó keyym Hstroke tạo ra.
Trừ khi bạn đang sử dụng Alt-Gr để nhập các ký tự không phải mã ascii, bạn có thể sắp xếp lại h, j, k và l với Alt-Gr để làm những gì bạn muốn. Điều này sẽ:
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'
Tất nhiên, Alt-Gr với các mục thay đổi không thực sự cần thiết, tôi chỉ bảo toàn các giá trị đã tồn tại. Bạn có thể tìm thấy các giá trị mã khóa bằng cách chạy xev
lệnh từ thiết bị đầu cuối. xev
hiển thị các sự kiện X, do đó bạn có thể nhấn phím và tìm hiểu thông tin về nó.
Để đặt cài đặt này vĩnh viễn, bạn có thể thêm đoạn sau vào .Xmodmap trong thư mục chính của bạn
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
Nhấn Alt-Gr chắc chắn không đẹp bằng nhấn Alt khi sử dụng hjkl, nhưng bạn nghĩ bạn có thể vật lộn để chỉ Alt hoạt động vì nó được sử dụng để truy cập menu. Bạn có thể sử dụng thông tin trong câu trả lời này cùng với các công cụ được Fraekkert đề cập để liên kết, ví dụ như Alt-Shift-h, có thể phù hợp với bạn hơn.
Cũng có thể đáng lưu ý rằng bạn có thể đặt chế độ vi trong bash (hoặc bất kỳ shell nào bạn sử dụng) bằng cách sử dụng set -o vi
. Điều này cung cấp cho bạn vi như hành vi khi chỉnh sửa dòng lệnh và lịch sử. Tôi không tin rằng điều này nhìn vào .vimrc của bạn, vì vậy đừng hy vọng các bản sửa lỗi chính của bạn sẽ hoạt động.