Nie dokładnie to, o co prosisz, ale prawie ...
Możesz ponownie przypisać ustawienia klawiatury X za pomocą xmodmap
polecenia. Możesz zobaczyć bieżące ustawienia, uruchamiającxmodmap -pke
Każdy kod klucza (który jest wartością skojarzoną z każdym klawiszem na klawiaturze) może mieć do 8 przypisanych klawiszy (co jest zasadniczo wyjściem). Są to:
- Po samodzielnym naciśnięciu
- Po naciśnięciu z shiftem
- Po naciśnięciu przy włączonym przełączniku trybu (wydaje się być przestarzały)
- Po naciśnięciu przełącznika trybu i zmiany biegów (wydaje się być przestarzały)
- Po naciśnięciu Alt-Gr (aka ISO_Level3_Shift w kategoriach xmodmap)
- Po naciśnięciu Alt-Gr i Shift
Obecnie mój klawisz „h” wygląda następująco:
h H h H hstroke Hstroke
gdzie klawisz Hstroke daje Ħ.
O ile nie używasz Alt-Gr do wprowadzania znaków innych niż ascii, możesz mapować h, j, k i l za pomocą Alt-Gr, aby robić to, co chcesz. To byłoby:
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 z wpisami shift nie są oczywiście absolutnie konieczne, po prostu zachowuję wartości, które już istnieją. Wartości kodów można znaleźć, uruchamiając xev
polecenie z terminala. xev
wyświetla zdarzenia X, więc możesz nacisnąć klawisz i uzyskać informacje na jego temat.
Aby to ustawienie było trwałe, możesz dodać następujące elementy do .Xmodmap w swoim katalogu domowym
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
Naciśnięcie Alt-Gr z pewnością nie jest tak przyjemne jak naciśnięcie Alt podczas korzystania z hjkl, ale myślę, że możesz mieć problem z uruchomieniem samego Alt do pracy, ponieważ służy on do dostępu do menu. Możesz skorzystać z informacji zawartych w tej odpowiedzi wraz z narzędziami wymienionymi przez Fraekkert, aby powiązać np. Alt-Shift-h, co może ci bardziej odpowiadać.
Warto również zauważyć, że możesz ustawić tryb vi w bash (lub jakiejkolwiek powłoce, której używasz) za pomocą set -o vi
. Zapewnia to podobne zachowanie podczas edytowania wiersza poleceń i historii. Nie sądzę jednak, żeby to wyglądało na twoim .vimrc, więc nie oczekuj, że twoje kluczowe zmiany mapowania zadziałają.