나는 macOS에서 구름입력기를 사용한다. 이유는 두 가지다.
-
내장입력기의 입력기 간 전환이 마음에 들지 않았다.
Select the previous input source
를 하면 입력기 전환창이 뜨며 약간의 딜레이가 발생하고,Select the next input source
를 하면 딜레이는 없지만, 등록된 모든 입력기를 차례로 돌게 된다. -
esc키를 누르면 자동으로 쿼티 자판으로 전환되는 기능이 좋았다. 하지만 이 이유는 거의 의미없는 게, hammerspoon을 이용하면 내장 입력기에서도 esc로 쿼티 전환이 가능하다.
구름입력기의 한영전환 단축키로 손에 익은 Shift-Space
를 등록했다.
하지만 문제가 있었는데, 먼저 iTerm2로 연 Neovim에서 확률적으로 한영전환이 되지 않았다.
Neovim에서 키 입력을 먹어버리는지, Shift-Space
를 누르면 한영전환이 되지 않고 스페이스만 입력되는 것이었다.
(Neovim 바깥은 큰 문제는 일어나지 않았던 것 같다)
주석을 한국어로 써야하거나, 이렇게 블로그 글을 쓸 때 Vim 속 한글 입력이 필요했던 나는 확률적인 입력에 화가 나기 시작했다.
구름입력기의 이슈에서 추천한대로 iTerm2의 Profiles>Keys>Key Mappings에서
Shift-Space
의 Action을 Remap Modifiers in iTerm2 Only로 등록해보았으나
항목 직후에는 작동하고 시간이 좀 지나면 또 작동하지 않았다.
한영키가 작동하지 않을 때마다 iTerm2 설정을 들락날락하며 살던 나는 어제 결심하게 되었다.
Neovim이 한영전환키를 먹어버린다면, Neovim 안에서 한영전환키를 설정하자!
입력기 전환과 빔 등의 키워드로 구글링해보니, 입력기 관련 플러그인 vim-xkbswitch가 있었다. 하지만 나는 그저 ‘한영전환’을 원할 뿐인데 플러그인에서 제공하는 기능이 많았고, 개발자가 러시아어권 사람인지 키릴 문자를 기본적으로 제공하고 다른 자판은 따로 추가해줘야 했다. 설정 얼마 안 걸릴 거 같은데 갑자기 급 귀차니즘이 와버렸다…
그래서 이 플러그인이 사용하는 입력기 전환 유틸리티만 쏙 빼와서 원하는대로 설정하기로 마음 먹었다.
입력기 전환 툴 설치
xiehuc/xkbswitch-macosx는 커맨드라인을 통해
- 현재 입력기 이름 가져오기
- 등록된 입력기 이름 모두 가져오기
- 입력기 설정하기
를 수행할 수 있다. 아래 명령어들을 입력해 설치 및 빌드하자.
(원본 myshov/xkbswitch-macosx는 M1 macos를 지원하지 않는다.)
적당한 작업 디렉터리(내 경우에는 ~/workspace/
) 또는 다운로드 디렉터리(~/Downloads/
)에서
|
|
를 입력하면, 해당 위치에 xkbswitch
실행 파일이 생긴다.
그 파일을 /usr/local/bin/
으로 복사하자.
만약 선호하는 $PATH
가 있다면 그곳으로 옮겨도 된다.
|
|
이제 xkbswitch-macosx
디렉터리 바깥으로 나가서 작동을 실험하자.
|
|
현재 입력기의 이름이 나오면 성공이다.
xkbswitch-macosx
디렉터리는 이제 필요없으니 지우든 삶아먹든 알아서 하자.
라이브러리 설치
libxkbswitch-macosx
는 vim에서 xkbswitch를 쉽게 불러와서 쓰기 위한 동적 라이브러리다.
내가 포크한 레포지토리 클론해서 bin 안에 있는 라이브러리를 /usr/local/lib/
로 복사하자.
~/scripts/
에 넣어놓는 걸 시도해보기도 했는데, 이상하게 파일이 멀쩡히 그 자리에 있는데 찾질 못하더라.
만약 보안 문제가 발생하면 직접 make
입력하면 새로 빌드된다.
설치한 xkbswitch
를 Vim에서 사용하기 위해서는 Vim상에서 :!xkbswitch 어쩌구
로 명령어를 바로 실행시킬 수도 있지만, xkbswitch-macosx 측에서 기본 제공하는 동적 라이브러리를 사용하는 방법도 있다.
명령어 바로 실행과 비교했을 때 얻는 이점이 무엇인지는 잘 모르겠지만, 제공해주니 감사하게 여기고 써보자.
위의 유틸리티처럼, 이 라이브러리 역시 원본 레포지토리에서는 Apple Slicon 맥을 지원하지 않아서 직접 포크했다.
|
|
위 줄을 입력해 lib
디렉터리로 옮겼으면 준비 완료.
네오빔 설정
vim-xkbswitch 플러그인을 사용하는 방법도 있긴한데, 나는 한영전환이 목표고,
그 플러그인은 키릴문자 지원이 우선에다가 너무 많은 기능이 있어보여서
직접 한영전환을 init.lua
에 쓰기로 한다.
|
|
상황에 맞게 첫 네줄의 값을 바꾸도록 하자. 위 글을 똑같이 따라하고 구름입력기를 사용한다면 사용하는데 문제가 없을 것이다.