본문 바로가기
Etc

Zsh - History 자동 완성 구성하기

by 올엠 2022. 8. 1.
반응형

Zsh에서 자동 완성으로 Tab키 이외에 히스토리 기반으로 자동 완성을 구성할 수 있다.

이 부분이 효율성이 좋은 이유는, 특정 명령을 기반으로 화살표 위/아래를 눌려 자동완성을 통해 기존 명령 활용성이 높아지게 된다.
필자 역시 이를 사용하기 전에는 history 명령을 이용해 기존 명령어를 확인하고 이를 다시 복사해서 사용하는 방식을 사용하였는데,
이 기능을 알게 된 다음부터는 history 명령 사용 빈도가 완전이 줄어들고, 기존 명령을 찾는 수고를 덜 수 있었다.
History 자동 완성 이란
전체가 아닌 현재 입력한 내용에서 매칭되는 결과를 보여주는 기능이다.
예를 들어 만약 docker 명령을 실행했던 History가 있을 때, docker를 입력하고 화살표 위/아래를 누르면, docker 라는 문구가 들어가 History 기준으로 과거 실행 이력을 보여주게 된다.

먼저 Zsh 프로필 파일인 vi ~/.zshrc 를 열도록 하자.

vi ~/.zshrc

그리고 아래 내용을 추가하도록 하자.

# autocompletion 초기화
autoload -Uz compinit
compinit

# history 자동완성 설정
setopt APPEND_HISTORY
setopt SHARE_HISTORY
HISTFILE=$HOME/.zhistory
SAVEHIST=1000
HISTSIZE=999
setopt HIST_EXPIRE_DUPS_FIRST
setopt EXTENDED_HISTORY

# 자동 완성 키를 화살표 위/아래 키로 설정
bindkey '\e[A' history-search-backward
bindkey '\e[B' history-search-forward

이후 source 명령을 이용해서 적용하고

source ~/.zshrc

히스토리 검색이 잘 되는지
특정 키를 입력하고 과거 실행 기록이 위/아래 방향키 나오는지 확인해보자.

vi로 기록된 결과를 보여준다

반응형