Um gerenciador de arquivos de terminal ultrarrápido escrito em Rust, construído sobre I/O assíncrono. Apresenta visualizações de imagens, operações em lote, atalhos de teclado estilo Vim, um sistema de plugins Lua e integrações com ripgrep, fd, fzf e zoxide.
| Plataforma | Comando |
|---|
| macOS (Homebrew) | brew install yazi ffmpegthumbnailer poppler fd ripgrep fzf zoxide font-symbols-only-nerd-font |
| Arch Linux | sudo pacman -S yazi ffmpegthumbnailer poppler fd ripgrep fzf zoxide |
| Ubuntu/Debian | Baixar dos releases do GitHub |
| Fedora/RHEL | sudo dnf install yazi |
| Windows (Scoop) | scoop install yazi |
| Windows (Winget) | winget install sxyazi.yazi |
| Cargo (Todas as plataformas) | cargo install --locked yazi-fm yazi-cli |
| Nix | nix-env -iA nixpkgs.yazi |
Dependências opcionais para recursos completos: ffmpegthumbnailer (miniaturas de vídeo), poppler (visualização de PDF), fd, ripgrep, fzf, zoxide, ImageMagick, 7-Zip/unar.
Iniciar: Execute yazi ou yazi /path/to/dir
| Tecla | Descrição |
|---|
h | Ir para diretório pai |
l ou Enter | Abrir arquivo ou entrar no diretório |
j | Mover cursor para baixo |
k | Mover cursor para cima |
J | Mover cursor 5 linhas para baixo |
K | Mover cursor 5 linhas para cima |
g g | Saltar para o primeiro item |
G | Saltar para o último item |
H | Voltar no histórico |
L | Avançar no histórico |
~ | Ir para o diretório home |
Backspace | Ir para diretório pai |
z | Saltar via zoxide (busca fuzzy de diretório) |
Z | Saltar via fzf |
| Tecla | Descrição |
|---|
o | Abrir arquivo selecionado com programa padrão |
O | Abrir arquivo interativamente (escolher programa) |
y | Copiar (yank) arquivos selecionados |
x | Recortar arquivos selecionados |
p | Colar arquivos copiados/recortados |
P | Colar com sobrescrita |
d | Mover arquivos selecionados para lixeira |
D | Excluir permanentemente arquivos selecionados |
a | Criar um novo arquivo ou diretório (adicionar / para diretório) |
r | Renomear arquivo selecionado |
c | Renomear com cursor no início |
. | Alternar exibição de arquivos ocultos |
| Tecla | Descrição |
|---|
Space | Alternar seleção no item atual |
v | Entrar em modo visual (selecionar intervalo) |
V | Entrar em modo visual (desselecionar intervalo) |
Ctrl+a | Selecionar todos os itens |
Ctrl+r | Inverter seleção (alternar todos) |
Esc | Cancelar seleção / sair do modo visual |
| Tecla | Descrição |
|---|
/ | Buscar no diretório atual |
? | Buscar para trás |
n | Saltar para próxima correspondência da busca |
N | Saltar para correspondência anterior da busca |
f | Filtrar diretório atual (mostrar apenas correspondentes) |
s | Buscar arquivos com fd em subdiretórios |
S | Buscar conteúdo de arquivos com ripgrep |
| Tecla | Descrição |
|---|
,m | Ordenar por hora de modificação |
,M | Ordenar por hora de modificação (inverso) |
,c | Ordenar por hora de criação |
,C | Ordenar por hora de criação (inverso) |
,e | Ordenar por extensão |
,E | Ordenar por extensão (inverso) |
,a | Ordenar alfabeticamente |
,A | Ordenar alfabeticamente (inverso) |
,n | Ordenar naturalmente (reconhece números) |
,N | Ordenar naturalmente (inverso) |
,s | Ordenar por tamanho |
,S | Ordenar por tamanho (inverso) |
,r | Ordenar aleatoriamente |
| Tecla | Descrição |
|---|
t | Criar nova aba |
1-9 | Mudar para aba por número |
[ | Mudar para aba anterior |
] | Mudar para próxima aba |
{ | Trocar aba com anterior |
} | Trocar aba com próxima |
| Tecla | Descrição |
|---|
Space (em múltiplos) | Selecionar múltiplos arquivos, então usar y/x/d |
r | Renomear (usar na seleção para renomeação em lote) |
- Selecionar arquivos com
Space ou modo visual (v)
- Pressionar
r para abrir renomeação em lote em seu $EDITOR
- Editar nomes de arquivo no editor
- Salvar e fechar — Yazi aplica todas as renomeações
Yazi fornece visualizações integradas para muitos tipos de arquivo:
| Tipo de Arquivo | Visualização |
|---|
| Imagens (PNG, JPG, etc.) | Visualização de imagem inline (em terminais suportados) |
| Vídeos | Visualização de miniatura (requer ffmpegthumbnailer) |
| PDFs | Visualização da primeira página (requer poppler) |
| Texto/Código | Visualização com destaque de sintaxe |
| Arquivos compactados | Listagem de conteúdo |
| Diretórios | Listagem de arquivos filhos |
Terminais suportados para visualização de imagem: Kitty, iTerm2, WezTerm, Ghostty, foot, Konsole, Windows Terminal, VSCode, Warp.
| Arquivo | Finalidade |
|---|
~/.config/yazi/yazi.toml | Configurações gerais |
~/.config/yazi/keymap.toml | Atalhos de teclado personalizados |
~/.config/yazi/theme.toml | Cores e estilos |
~/.config/yazi/init.lua | Inicialização de plugins |
[manager]
show_hidden = false # Mostrar dotfiles por padrão
sort_by = "natural" # natural, alphabetical, size, modified, created, extension
sort_dir_first = true # Diretórios antes de arquivos
linemode = "size" # Info mostrada ao lado do nome do arquivo: size, mtime, permissions, none
[preview]
max_width = 1000 # Largura máxima de visualização
max_height = 1000 # Altura máxima de visualização
image_quality = 75 # Qualidade JPEG para miniaturas
[opener]
# Abridores de arquivo personalizados
edit = [{ run = 'nvim "$@"', block = true }]
open = [{ run = 'open "$@"' }] # macOS: open, Linux: xdg-open
Adicione à sua configuração do shell para que sair do Yazi coloque você no último diretório que você visitou:
Bash/Zsh:
function y() {
local tmp="$(mktemp -t "yazi-cwd.XXXXXX")" cwd
yazi "$@" --cwd-file="$tmp"
if cwd="$(command cat -- "$tmp")" && [ -n "$cwd" ] && [ "$cwd" != "$PWD" ]; then
builtin cd -- "$cwd"
fi
rm -f -- "$tmp"
}
Fish:
function y
set tmp (mktemp -t "yazi-cwd.XXXXXX")
yazi $argv --cwd-file="$tmp"
if set cwd (command cat -- $tmp); and [ -n "$cwd" ]; and [ "$cwd" != "$PWD" ]
builtin cd -- "$cwd"
end
rm -f -- $tmp
end
# Instalar um plugin
ya pack -a owner/plugin-name
# Atualizar todos os plugins
ya pack -u
# Listar plugins instalados
ya pack -l
Plugins populares: integração de status do git, extração de arquivos, manipulação de imagens, visualizadores personalizados.
# Iniciar em um diretório específico
yazi ~/projects
# Navegação rápida de arquivos com visualizações de imagem
yazi ~/photos
# Fluxo de trabalho de renomeação em lote
# 1. Navegar para diretório
# 2. Selecionar arquivos com Space ou v
# 3. Pressionar r para renomear em lote no editor
| Recurso | Yazi | ranger | lf | nnn |
|---|
| Linguagem | Rust | Python | Go | C |
| I/O assíncrono | Sim | Não | Não | Não |
| Visualização de imagem | Nativo | Sim | Plugin | Plugin |
| Sistema de plugins | Lua | Python | Shell | Shell |
| Velocidade | Muito rápido | Moderada | Rápido | Muito rápido |
| Renomeação em lote | Integrado | Integrado | Externo | Externo |
| Atalhos Vim | Sim | Sim | Sim | Não |