JooTC
linux-logo-blue

zsh와 oh-my-zsh에서 Home, End 키가 동작하지 않을 때

리눅스 셸인 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 키를 눌러 커서가 앞뒤로 이동되는지 확인해보면 됩니다!

이 포스트가 도움이 되었나요?

댓글 남기기

avatar
error: 경고: 무단 콘텐츠 복사 및 사용을 금지하고 있습니다. 이해해주셔서 감사합니다.