리눅스 셸인 zsh (Z shell)를 처음 설치했다면 (또는 oh-my-zsh를 같이 설치하였다면) 기존의 bash 셸의 사용과는 다른 부분이 있어 난감한 경우가 생길 때가 있습니다. 특히 셸 환경에서 커서를 처음, 끝으로 옮길 때 유용하게 쓰이는 Home키와 End키가 동작하지 않을 때가 있는데요.
vi(vim)이나 emacs같은 터미널 텍스트 에디터에서는 문제가 없지만 유독 프롬프트 입력 환경에서만 이 두 키가 먹통일 때가 있습니다.
zsh에서 Home, End 키 먹통 문제 해결하기
해결 방법은 간단합니다. 로그인 시 실행되는 .zshrc
파일에 Home 키와 End 키에 대한 매핑 정보를 넣어주면 됩니다.
먼저 vim 등의 편집기를 사용하여 다음 파일을 열어주겠습니다.
$ vim ~/.zshrc
이는 곧 현재 사용자의 zsh 셸 환경을 수정하게 됩니다. 만약 모든 사용자에 대해 해당 문제를 수정해야 하는 경우 ~/.zshrc
파일 대신 /etc/zsh/zshrc
파일을 수정해야 합니다. 다만 앞서 말했듯이 모든 사용자에게 적용되는 사항이므로 사용 시 주의해야만 합니다.
파일을 열었다면 맨 하단에 다음 두 줄을 추가해줍니다.
bindkey "\033[1~" beginning-of-line bindkey "\033[4~" end-of-line
\033[1~
과 \033[4~
는 각각 홈 키와 엔드 키를 의미합니다. 이 키가 입력되면 라인의 맨 처음으로(beginning-of-line), 라인의 맨 마지막으로(end-of-line) 커서가 이동되도록 수정한 것입니다. 편집이 완료되었다면 저장하고 빠져나옵니다. 이제 로그아웃 후 다시 로그인하거나, 아래 명령어를 입력하여 변경 사항을 적용해주도록 하겠습니다.
$ source ~/.zshrc
마찬가지로 모든 사용자에게 적용했을 경우 파일 명을 /etc/zsh/zshrc
로 대신 입력해주시면 됩니다. 이 방법이 통하지 않는다면 로그아웃 후 다시 로그인하는 것을 권장합니다.
이제 Home, End 키를 눌러 커서가 앞뒤로 이동되는지 확인해보면 됩니다!