콘텐츠로 이동

zoxide - 스마트한 cd 대체 도구 치트시트

zoxide - 스마트한 cd 대체 도구 치트시트

섹션 제목: “zoxide - 스마트한 cd 대체 도구 치트시트”

가장 많이 사용하는 디렉토리를 학습하고 몇 번의 키 입력만으로 이동할 수 있는 스마트한 cd 명령어. 방문 빈도와 최근성을 결합한 “frecency” 알고리즘을 사용합니다.

플랫폼명령어
macOS (Homebrew)brew install zoxide
Ubuntu/Debiansudo apt install zoxide
Arch Linuxsudo pacman -S zoxide
Fedora/RHELsudo dnf install zoxide
Windows (Winget)winget install ajeetdsouza.zoxide
Windows (Scoop)scoop install zoxide
Windows (Chocolatey)choco install zoxide
Cargo (모든 플랫폼)cargo install zoxide --locked
Condaconda install -c conda-forge zoxide
Nixnix-env -iA nixpkgs.zoxide
설치 스크립트curl -sSfL https://raw.githubusercontent.com/ajeetdsouza/zoxide/main/install.sh | sh

셸 설정 파일에 적절한 줄 추가:

설정 파일추가할 명령어
Bash~/.bashrceval "$(zoxide init bash)"
Zsh~/.zshrceval "$(zoxide init zsh)"
Fish~/.config/fish/config.fishzoxide init fish | source
PowerShellProfileInvoke-Expression (& { (zoxide init powershell | Out-String) })
Elvish~/.elvish/rc.elveval (zoxide init elvish | slurp)
Nushellenv.nuzoxide init nushell | save -f ~/.zoxide.nu
Xonsh~/.xonshrcexecx($(zoxide init xonsh))
명령어설명
z foo”foo”와 일치하는 최고 순위 디렉토리로 이동
z foo bar”foo”와 “bar” 모두와 일치하는 디렉토리로 이동
z ~/projects정확한 경로로 이동 (일반 cd처럼 작동)
z ..한 디렉토리 위로 이동
z -이전 디렉토리로 돌아가기
zi foofzf를 사용한 대화형 선택 (여러 일치 항목이 있을 때)
zi모든 추적된 디렉토리에서 대화형 선택

zoxide는 키워드로 디렉토리 경로를 일치시킵니다. 전체 경로를 입력할 필요가 없습니다:

# /home/user/projects/my-app을 자주 방문한다면
z my-app      # 직접 이동
z proj app    # 이것도 작동 (경로의 두 단어 모두 일치)
z app         # 가장 자주 사용하는 "app" 디렉토리라면 작동

점수 매기기: 디렉토리는 방문 시 점수를 얻습니다. 최근 방문이 더 높은 점수를 받습니다. 사용하지 않는 디렉토리는 시간이 지남에 따라 감소합니다.

명령어설명
zoxide add /path/to/dir데이터베이스에 디렉토리 수동 추가
zoxide remove /path/to/dir데이터베이스에서 디렉토리 제거
zoxide edit$EDITOR에서 데이터베이스 열어 수동 편집
zoxide query foo”foo”에 대한 최상의 일치 항목 표시 (이동하지 않음)
zoxide query -l데이터베이스의 모든 디렉토리를 점수별로 정렬하여 나열
zoxide query -l foo”foo”에 대한 모든 일치 항목을 점수와 함께 나열
zoxide query -ls foo점수별로 정렬된 일치 항목을 점수와 함께 나열
zoxide query -i foo대화형 선택 모드

다른 디렉토리 점퍼에서 마이그레이션? 데이터베이스 가져오기:

명령어설명
zoxide import --from=autojump /path/to/dbautojump에서 가져오기
zoxide import --from=z /path/to/dbz/z.sh에서 가져오기
zoxide import --from=fasd /path/to/dbfasd에서 가져오기

가져올 기본 데이터베이스 위치:

  • autojump: ~/.local/share/autojump/autojump.txt
  • z: ~/.z
  • fasd: ~/.fasd
변수기본값설명
_ZO_DATA_DIR플랫폼별데이터베이스를 저장할 디렉토리
_ZO_ECHO0탐색하기 전에 일치하는 디렉토리 출력 (활성화하려면 1)
_ZO_EXCLUDE_DIRS없음제외할 디렉토리 (콜론으로 구분된 경로)
_ZO_FZF_OPTS없음대화형 모드에서 fzf에 전달되는 사용자 정의 옵션
_ZO_MAXAGE10000데이터베이스의 최대 항목 수
_ZO_RESOLVE_SYMLINKS0경로를 저장하기 전에 심볼릭 링크 해결 (활성화하려면 1)
옵션설명
--cmd j명령어 이름을 z에서 j로 변경 (jji 생성)
--hook prompt모든 프롬프트에서 점수 업데이트 (기본값)
--hook pwd디렉토리가 변경될 때만 점수 업데이트
--hook none점수를 자동으로 업데이트하지 않음
--no-cmdzzi 별칭을 생성하지 않음 (__zoxide_z 직접 사용)
# 예: 'z' 대신 'j' 사용, 디렉토리 변경 시에만 업데이트
eval "$(zoxide init bash --cmd j --hook pwd)"
# 홈 디렉토리와 tmp를 추적에서 제외
export _ZO_EXCLUDE_DIRS="$HOME:/tmp:/private/tmp"
# 사용자 정의 fzf 미리보기 사용
export _ZO_FZF_OPTS="--preview 'eza -la --icons {2..}' --preview-window=right:40%"
# 부분 이름으로 프로젝트 디렉토리로 이동
z myproject

# 여러 키워드로 명확하게
z work api          # ~/work/projects/api-server와 일치

# 확실하지 않을 때 대화형 모드
zi deploy           # 일치하는 모든 디렉토리와 함께 fzf 열기

# zoxide가 생각하는 최상의 일치 항목 확인
zoxide query deploy

# 모든 추적된 디렉토리와 점수 보기
zoxide query -ls

# 데이터베이스에서 삭제된 디렉토리 정리
zoxide query -l | while read -r line; do
  dir=$(echo "$line" | awk '{print $2}')
  [ ! -d "$dir" ] && zoxide remove "$dir"
done

zi를 사용하면 zoxide는 대화형 선택을 위해 자동으로 fzf를 사용합니다. 이것이 작동하려면 fzf가 설치되어 있어야 합니다.

zoxide는 탭 자동완성을 제공합니다. 셸 통합 후 z 다음에 Tab을 누르면 일치하는 디렉토리가 제안됩니다.

기능cdzoxide (z)
정확한 경로로 이동cd /full/pathz /full/path
부분 일치아니오예 (z proj)
Frecency 순위아니오
대화형 선택아니오예 (zi)
이전 디렉토리cd -z -
학습 동작아니오사용에서 학습
데이터베이스 가져오기N/Aautojump, z, fasd
문제해결 방법
z 명령어를 찾을 수 없음셸 설정에 셸 통합 줄이 있는지 확인하고 셸 재시작
일치 항목을 찾을 수 없음먼저 cd로 디렉토리를 방문 — zoxide는 시간이 지남에 따라 학습
잘못된 디렉토리가 일치됨더 구체적인 키워드 사용: z api 대신 z work api
데이터베이스가 너무 큼_ZO_MAXAGE를 낮추거나 zoxide edit를 실행하여 정리