정확히 당신이 요구하는 것이 아니라 거의 ...
xmodmap
명령을 사용하여 X 키보드 설정을 다시 매핑 할 수 있습니다 . 당신은 실행하여 현재 설정을 볼 수 있습니다xmodmap -pke
각 키 코드 (키보드의 모든 키와 관련된 값)는 최대 8 개의 키심 (기본적으로 출력)을 연결할 수 있습니다. 다음과 같습니다.
- 자체적으로 누르면
- 시프트로 누르면
- 모드 스위치가 활성화 된 상태에서 누르면 (사용되지 않는 것으로 간주 됨)
- 모드 스위치와 시프트로 눌렀을 때 (사용되지 않는 것으로 보임)
- Alt-Gr (xmodmap 용어의 ISO_Level3_Shift)로 누르면
- Alt-Gr을 누르고 눌렀을 때
따라서 현재 "h"키는 다음과 같습니다.
h H h H hstroke Hstroke
여기서 Hstroke keysym은 Ħ을 생성합니다.
ASCII 이외의 문자를 입력하기 위해 Alt-Gr을 사용하지 않는 한, 원하는 것을하기 위해 Alt-Gr로 h, j, k 및 l을 다시 매핑 할 수 있습니다. 이것은 :
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은 물론 꼭 필요한 것은 아니며 이미 존재하는 값만 보존합니다. 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을 누르는 것이 hjkl을 사용할 때 Alt를 누르는 것만 큼 좋지는 않지만 메뉴 액세스에 사용되기 때문에 Alt가 작동하는 데 어려움을 겪을 수 있습니다. 이 답변의 정보를 Fraekkert가 언급 한 도구와 함께 사용하여 Alt-Shift-h 대신 바인딩하는 것이 더 적합 할 수 있습니다.
또한을 사용하여 bash (또는 사용하는 쉘)에서 vi 모드를 설정할 수 있다는 점도 주목할 가치가 있습니다 set -o vi
. 이것은 명령 행과 히스토리를 편집 할 때와 같은 동작을 제공합니다. 나는 이것이 당신의 .vimrc를 본다고 믿지 않으므로 주요 리 맵핑이 효과가 있다고 기대하지 마십시오.