Не зовсім те, що ви просите, але майже ...
Ви можете змінити параметри клавіатури X за допомогою xmodmap
команди. Ви можете побачити поточні налаштування, запустившиxmodmap -pke
Кожен клавішний код (який є значенням, пов’язаним із кожною клавішею на вашій клавіатурі), може містити до 8 клавіш (що по суті є результатом). Вони такі:
- При натисканні самостійно
- При натисканні зі зміщенням
- При натисканні з увімкненим перемикачем режиму (здається, застарілим)
- При натисканні на клавішу перемикання режимів і зміщення (здається, застаріло)
- При натисканні на Alt-Gr (він же ISO_Level3_Shift в xmodmap термінах)
- При натисканні з Alt-Gr і зсувом
Тож наразі моя клавіша "h" виглядає так:
h H h H hstroke Hstroke
де клавіша Hstroke виробляє Ħ.
Якщо ви не використовуєте 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 в bash (або залежно від оболонки), використовуючи set -o vi
. Це дає вам подібну поведінку під час редагування командних рядків та історії. Я не вірю, що це виглядає на вашому файлі .vimrc, тому не сподівайтесь, що ваші ключові переоформлення спрацюють.