전에 리눅스용 유틸인 Autokey를 이용하여 Vim/Neovim 사용시의 한영 전환 이슈를 해결하는 포스팅을 올린 적이 있다. 그것보다 더 근본적인 레벨에서 해결할 수 있는 방법을 찾아서 사용하고 있다.
keyd라는 리눅스용 키 리맵핑(key remapping) 데몬을 사용하는 것인데, 로우-레벨(low-level)에서 작동하고 가볍고 반응도 워낙 빠릿빠릿하다.
대부분의 리눅스 배포판은 keyd 패키지 설치를 지원한다.
아치 리눅스(Arch Linux)의 경우 keyd라는 이름으로 공식 리포지토리에 존재한다. Extra로 분류되어 있다.
아래와 같은 명령어로 간편하게 설치할 수 있다.
$ sudo pacman -S keyd
/etc/keyd/에 default.conf라는 설정 파일이 있고 내가 입력한 내용은 다음과 같다.
[ids]
*
[main]
esc = macro(C-A-[ esc)
[control]
[ = macro(C-A-[ esc)
Ctrl–Alt–[의 경우 내가 쓰는 MATE DE(데스크탑 환경)의 Keyboard Shortcuts 설정에서 ‘Deactivate Input Method (fcitx5)’로 등록해 놓았다. fcitx5의 한글 입력 모드를 끄는 명령은 /usr/bin/fcitx5-remote -c로 등록되어 있다.
Ctrl–[를 누를 경우 fcitx5의 한글 입력 모드가 꺼지고 esc키를 누른 효과가 나타난다. esc키를 그냥 눌러도 한글 입력 모드를 끄면서 esc키를 누른 것이 된다.
이리하면 Vim/Neovim에서 입력 모드에서 나가면서 한글 자소 입력으로 Vim/Neovim이 명령을 받지 못 하는 귀찮은 상황을 방지할 수 있다.