쉘을 bash에서 zsh로 변경

쉘을 bash에서 zsh로 변경



1. zsh 도입
2. sh-completion 완성 확장
3. prezto 구성 프레임워크
4. peco 명령 이력 검색

zsh 배포 절차



1. zsh 설치


$ brew install zsh

2. 완성 확장 "zsh-completion" 설치


zsh-completion 설치하기
$ brew install zsh-completion
zsh-completion 사용
$ vi .zshrc
if type brew &>/dev/null; then
 FPATH=$(brew --prefix)/share/zsh-completions:$FPATH
 autoload -Uz compinit
 compinit
fi
zcompdump 재구성zcompdump에는 명령과 함수가 등록되어 있습니다.
$ rm -f ~/.zcompdump
$ compinit

[zsh compinit: insecure directories]가 표시되면
$ chmod go-w ‘/usr/local/share’

3. 구성 프레임 워크 "prezto"설치


zsh 시작하기
$ zsh
prezto의 저장소 복제
$ git clone --recursive https://github.com/sorin-ionescu/prezto.git "${ZDOTDIR:-$HOME}/.zprezto"

제공된 Zsh 설정 파일을 복사하여 새 Zsh 설정을 만듭니다..zshrc 가 있으면 오류가 발생하기 때문에 .zshrc 를 별칭으로 지정

/Users/{user}/.zshrc: File exists
$ mv .zshrc .zshrc_temp
prezto 가 설정된 .zshrc 만들기
$ setopt EXTENDED_GLOB
for rcfile in "${ZDOTDIR:-$HOME}"/.zprezto/runcoms/^README.md(.N); do
  ln -s "$rcfile" "${ZDOTDIR:-$HOME}/.${rcfile:t}"
done

복사 .zshrc 추가
$ cat .zshrc_temp >> .zshrc

4. 명령 이력 검색 "peco" 설치


peco 설치하기
$ brew install peco
.zshrc에 다음을 추가합니다.
$ vi .zshrc
peco-select-history() {
    BUFFER=$(history 1 | sort -k1,1nr | perl -ne 'BEGIN { my @lines = (); } s/^\s*\d+\*?\s*//; $in=$_; if (!(grep {$in eq $_} @lines)) { push(@lines, $in); print $in; }' | peco --query "$LBUFFER")
    CURSOR=${#BUFFER}
    zle reset-prompt
}
zle -N peco-select-history
bindkey '^r' peco-select-history

5. 로그인 시 쉘 변경


/etc/shells의 마지막 줄에 경로 추가
$ sudo vi /etc/shells
/usr/local/bin/zsh

로그인 시 쉘 변경
$ chsh -s /usr/local/bin/zsh
Changing shell for <user>.
Password for <user>: 

세세한 설정은 맛있습니다. . 갑니다!

6. 터미널에서 zsh 시작





참고


  • zsh-completions
  • prezto
  • 좋은 웹페이지 즐겨찾기