Pular para o conteúdo

zoxide - Folha de Referência do Substituto Inteligente do cd

zoxide - Folha de Referência do Substituto Inteligente do cd

Seção intitulada “zoxide - Folha de Referência do Substituto Inteligente do cd”

Um comando cd mais inteligente que aprende seus diretórios mais usados e permite saltar para eles com apenas algumas teclas. Usa um algoritmo de “frecência” que combina frequência e recência de visitas.

PlataformaComando
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 (Todas as plataformas)cargo install zoxide --locked
Condaconda install -c conda-forge zoxide
Nixnix-env -iA nixpkgs.zoxide
Script de instalaçãocurl -sSfL https://raw.githubusercontent.com/ajeetdsouza/zoxide/main/install.sh | sh

Adicione a linha apropriada ao seu arquivo de configuração do shell:

ShellArquivo de ConfiguraçãoComando para Adicionar
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))
ComandoDescrição
z fooSaltar para o diretório mais bem classificado que corresponde a “foo”
z foo barSaltar para diretório que corresponde a “foo” e “bar”
z ~/projectsSaltar para caminho exato (funciona como cd regular)
z ..Subir um diretório
z -Retornar ao diretório anterior
zi fooSeleção interativa com fzf (quando há múltiplas correspondências)
ziSeleção interativa de todos os diretórios rastreados

zoxide corresponde caminhos de diretório por palavras-chave. Você não precisa digitar o caminho completo:

# Se você visita frequentemente /home/user/projects/my-app
z my-app      # Salta diretamente para lá
z proj app    # Também funciona (corresponde ambas as palavras no caminho)
z app         # Funciona se for seu diretório "app" mais frequente

Pontuação: Diretórios ganham pontos quando visitados. Visitas recentes pontuam mais alto. Diretórios não usados decaem com o tempo.

ComandoDescrição
zoxide add /path/to/dirAdicionar manualmente um diretório ao banco de dados
zoxide remove /path/to/dirRemover um diretório do banco de dados
zoxide editAbrir banco de dados em $EDITOR para edição manual
zoxide query fooMostrar a melhor correspondência para “foo” (sem saltar)
zoxide query -lListar todos os diretórios no banco de dados, ordenados por pontuação
zoxide query -l fooListar todas as correspondências para “foo” com pontuações
zoxide query -ls fooListar correspondências com pontuações, ordenadas por pontuação
zoxide query -i fooModo de seleção interativa

Migrando de outro navegador de diretórios? Importe seu banco de dados:

ComandoDescrição
zoxide import --from=autojump /path/to/dbImportar do autojump
zoxide import --from=z /path/to/dbImportar do z/z.sh
zoxide import --from=fasd /path/to/dbImportar do fasd

Localizações padrão de banco de dados para importar:

  • autojump: ~/.local/share/autojump/autojump.txt
  • z: ~/.z
  • fasd: ~/.fasd
VariávelPadrãoDescrição
_ZO_DATA_DIREspecífico da plataformaDiretório para armazenar o banco de dados
_ZO_ECHO0Imprimir diretório correspondido antes de navegar (1 para habilitar)
_ZO_EXCLUDE_DIRSNenhumDiretórios para excluir (caminhos separados por dois pontos)
_ZO_FZF_OPTSNenhumOpções personalizadas passadas ao fzf no modo interativo
_ZO_MAXAGE10000Número máximo de entradas no banco de dados
_ZO_RESOLVE_SYMLINKS0Resolver links simbólicos antes de armazenar caminhos (1 para habilitar)
OpçãoDescrição
--cmd jMudar nome do comando de z para j (cria j e ji)
--hook promptAtualizar pontuações a cada prompt (padrão)
--hook pwdAtualizar pontuações apenas quando o diretório muda
--hook noneNunca atualizar pontuações automaticamente
--no-cmdNão criar aliases z e zi (usar __zoxide_z diretamente)
# Exemplo: usar 'j' em vez de 'z', atualizar apenas em mudança de diretório
eval "$(zoxide init bash --cmd j --hook pwd)"
# Excluir diretório home e tmp do rastreamento
export _ZO_EXCLUDE_DIRS="$HOME:/tmp:/private/tmp"
# Usar visualização personalizada do fzf
export _ZO_FZF_OPTS="--preview 'eza -la --icons {2..}' --preview-window=right:40%"
# Saltar para um diretório de projeto por nome parcial
z myproject

# Desambiguar com múltiplas palavras-chave
z work api          # corresponde a ~/work/projects/api-server

# Modo interativo quando você não tem certeza
zi deploy           # abre fzf com todos os diretórios correspondentes

# Verificar o que zoxide pensa ser a melhor correspondência
zoxide query deploy

# Ver todos os diretórios rastreados e suas pontuações
zoxide query -ls

# Limpar diretórios excluídos do banco de dados
zoxide query -l | while read -r line; do
  dir=$(echo "$line" | awk '{print $2}')
  [ ! -d "$dir" ] && zoxide remove "$dir"
done

Quando você usa zi, zoxide usa automaticamente fzf para seleção interativa. Certifique-se de que o fzf está instalado para que isso funcione.

zoxide fornece completações com Tab. Após a integração do shell, pressionar Tab após z irá sugerir diretórios correspondentes.

Recursocdzoxide (z)
Ir para caminho exatocd /full/pathz /full/path
Correspondência parcialNãoSim (z proj)
Classificação por frecênciaNãoSim
Seleção interativaNãoSim (zi)
Diretório anteriorcd -z -
Aprendizado de comportamentoNãoAprende com o uso
Importação de banco de dadosN/Aautojump, z, fasd
ProblemaSolução
Comando z não encontradoCertifique-se de que a linha de integração do shell está em seu arquivo de configuração e reinicie o shell
Nenhuma correspondência encontradaVisite diretórios com cd primeiro — zoxide aprende com o tempo
Diretório errado correspondidoUse palavras-chave mais específicas: z work api em vez de z api
Banco de dados muito grandeDiminua _ZO_MAXAGE ou execute zoxide edit para limpar