ZSH는 무엇이며 Bash 대신 사용해야하는 이유는 무엇입니까?

Z 쉘이라고도하는 ZSH는 Bourne Shell (sh)의 확장 버전으로, 많은 새로운 기능과 플러그인 및 테마를 지원합니다. Bash와 동일한 셸을 기반으로하기 때문에 ZSH에는 동일한 기능이 많이 있으며 전환이 쉽습니다.

그래서 왜 그것을 사용합니까?

ZSH에는 여기에 나열하기에는 너무 많은 기능이 있으며 일부는 Bash에 대한 사소한 개선 사항이지만 다음은 주요 기능 중 일부입니다.

  • 자동 CD : 디렉토리 이름 만 입력하면됩니다.
  • 재귀 경로 확장 : 예를 들어 "/ u / lo / b"는 "/ usr / local / bin"으로 확장됩니다.
  • 맞춤법 수정 및 대략적인 완성 : 디렉토리 이름을 입력하는 사소한 실수를 한 경우 ZSH가 자동으로 수정합니다.
  • 플러그인 및 테마 지원 : ZSH는 다양한 플러그인 프레임 워크를 포함합니다.

플러그인 및 테마 지원은 아마도 ZSH의 가장 멋진 기능이며 여기서 집중할 것입니다.

ZSH 설치

macOS를 사용 중이고 Homebrew가 설치되어있는 경우 (필요한 경우) 단일 명령으로 ZSH를 설치할 수 있습니다.

양조 설치 zsh

또한 macOS 사용자의 경우 기본 터미널 대신 iTerm을 사용해야합니다. 훨씬 더 나은 색상 지원 (및 기타 많은 기능 포함)이 있기 때문입니다.

Linux를 사용하는 경우 명령은 배포판에 따라 다를 수 있지만 패키지 관리자의 기본 패키지 여야합니다. 문제가있는 경우이 가이드를 참조 할 수 있습니다.

Windows를 사용하는 경우 처음에는 Bash가 없을 수도 있습니다. 이 가이드에 따라 설정하고 ZSH를 활성화 할 수 있습니다.

Oh-My-Zsh 설치

Oh-My-Zsh는 ZSH 용으로 가장 널리 사용되는 플러그인 프레임 워크이며 많은 기본 제공 플러그인과 테마도 함께 제공됩니다. ZSH의 전체 패키지 관리자 인 Antigen을 비롯한 몇 가지 다른 플러그인 프레임 워크도 있지만 Oh-My-Zsh에는 많은 플러그인이 내장되어 있으며 제대로 작동합니다.

Oh-My-Zsh에는 실행할 수있는 간단한 설치 스크립트가 있습니다.

sh -c "$ (curl -fsSL //raw.githubusercontent.com/robbyrussell/oh-my-zsh/master/tools/install.sh)"

거기에서 ~ 디렉토리에있는 .zshrc 파일에 플러그인을 추가하여 플러그인을 활성화 및 비활성화 할 수 있습니다.

Oh-My-Zsh 저장소에서 전체 플러그인 목록을 얻을 수 있습니다.

테마

둘러 볼 테마가 많이 있지만 powerlevel9k가 가장 멋집니다. 오른쪽 정렬 된 정보 상자, git 및 명령 기록과의 통합, 놀라운 사용자 정의를 추가하고 vim 용 전력선 플러그인을 기반으로하는 매끄러운 인터페이스로 모든 것을 래핑합니다.

powerlevel9k (또는 실제로 모든 ZSH 테마)를 최대한 활용하려면 macOS 또는 24 비트 색상의 모든 터미널에서 iTerm을 사용하고 싶을 것입니다.

powerlevel9k를 설정하려면 (Oh-My-Zsh를 설치 한 경우) 저장소를 .oh-my-zsh 사용자 정의 테마 폴더에 복제하십시오.

git clone //github.com/bhilburn/powerlevel9k.git ~/.oh-my-zsh/custom/themes/powerlevel9k

그런 다음 .zshrc에서 활성화해야합니다.

ZSH_THEME="powerlevel9k/powerlevel9k"

그 후 .zshrc를 소싱하면 변경 사항이 적용된 것을 볼 수 있습니다.

원하는 경우 .zshrc에서 POWERLEVEL9K_LEFT_PROMPT_ELEMENTS를 정의하여 기본 프롬프트를 사용자 정의 할 수 있습니다. 여기에 최소한의 프롬프트가 있습니다.

POWERLEVEL9K_LEFT_PROMPT_ELEMENTS = (vcs dir rbenv) POWERLEVEL9K_RIGHT_PROMPT_ELEMENTS = (root_indicator background_jobs 상태로드)

repo에서 powerlevel9k에 대한 전체 문서를 찾을 수 있습니다.