Gerenciador de arquivos de terminal ultrarrápido escrito em Rust com I/O assíncrono, pré-visualização de imagens, sistema de plugins e suporte a múltiplas abas.
| Comando | Descrição |
|---|
brew install yazi ffmpegthumbnailer unar jq poppler fd ripgrep fzf zoxide imagemagick | Instalação completa no macOS com todas as dependências de pré-visualização |
brew install yazi | Instalação mínima no macOS |
cargo install --locked yazi-fm yazi-cli | Instalar a partir do crates.io |
pacman -S yazi ffmpegthumbnailer unarchiver jq poppler fd ripgrep fzf zoxide | Instalação completa no Arch Linux |
scoop install yazi | Instalar no Windows com Scoop |
winget install sxyazi.yazi | Instalar no Windows com winget |
nix-env -i yazi | Instalar no NixOS |
snap install yazi --classic | Instalar no Ubuntu via Snap |
| Comando | Descrição |
|---|
yazi | Iniciar Yazi no diretório atual |
yazi /path/to/dir | Abrir Yazi em diretório específico |
yazi --version | Mostrar versão instalada |
ya --version | Mostrar versão do auxiliar CLI |
yazi --cwd-file=/tmp/cwd | Salvar último diretório ao sair |
# Bash/Zsh — adicionar ao ~/.bashrc ou ~/.zshrc
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"
done
rm -f -- "$tmp"
}
# Fish — adicionar ao ~/.config/fish/config.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
| Comando | Descrição |
|---|
j ou ↓ | Mover cursor para baixo |
k ou ↑ | Mover cursor para cima |
h ou ← | Ir para diretório pai |
l ou → ou Enter | Entrar no diretório ou abrir arquivo |
g g | Ir para o primeiro item |
G | Ir para o último item |
~ | Ir para o diretório home |
Backspace | Ir para diretório pai |
Ctrl + u | Rolar meia página acima |
Ctrl + d | Rolar meia página abaixo |
Ctrl + b | Rolar página inteira acima |
Ctrl + f | Rolar página inteira abaixo |
| Comando | Descrição |
|---|
z | Saltar para diretório com zoxide |
Z | Saltar com zoxide (fzf interativo) |
- | Ir para diretório anterior |
Ctrl + o | Voltar no histórico de navegação |
Ctrl + i | Avançar no histórico de navegação |
| Comando | Descrição |
|---|
o | Abrir arquivo com programa padrão |
O | Abrir arquivo interativamente (escolher programa) |
Enter | Abrir arquivo ou entrar no diretório |
q | Sair do Yazi |
Q | Sair sem salvar cwd-file |
| Comando | Descrição |
|---|
y | Copiar (yank) arquivos selecionados |
x | Recortar arquivos selecionados |
p | Colar arquivos copiados/recortados |
P | Colar com sobrescrita |
Y ou X | Cancelar cópia/recorte |
- depois p | Colar como link simbólico (absoluto) |
_ depois p | Colar como link simbólico (relativo) |
Ctrl + p | Colar como hard link |
| Comando | Descrição |
|---|
a | Criar novo arquivo ou diretório (/ final = diretório) |
r | Renomear arquivo selecionado |
c | Renomear com cursor no final |
d | Enviar arquivos selecionados para lixeira |
D | Excluir permanentemente arquivos selecionados |
. | Alternar visibilidade de arquivos ocultos |
Criando arquivos e diretórios:
a myfile.txt → Cria um novo arquivo
a mydir/ → Cria um novo diretório (barra final)
a path/to/file → Cria estrutura aninhada
Renomear em lote:
Selecionar múltiplos arquivos → r → Abre $EDITOR
Cada linha = um nome de arquivo, editar e salvar para renomear todos
| Comando | Descrição |
|---|
Space | Alternar seleção no arquivo atual |
V | Entrar no modo visual (seleção múltipla) |
Ctrl + a | Selecionar todos os arquivos |
Ctrl + r | Inverter seleção |
Escape | Limpar seleção |
| Comando | Descrição |
|---|
m | Salvar diretório atual como favorito |
' | Ir para um favorito |
" | Excluir um favorito |
| Comando | Descrição |
|---|
t | Criar nova aba no diretório atual |
Ctrl + c | Fechar aba atual |
1 - 9 | Alternar para aba por número |
[ | Alternar para aba anterior |
] | Alternar para próxima aba |
{ | Trocar aba com anterior |
} | Trocar aba com próxima |
| Comando | Descrição |
|---|
/ | Pesquisar arquivos no diretório atual |
? | Pesquisar arquivos no sentido inverso |
n | Ir para próxima correspondência |
N | Ir para correspondência anterior |
| Comando | Descrição |
|---|
f | Filtrar arquivos (mostrar apenas correspondentes) |
s | Pesquisar arquivos usando fd (recursivo) |
S | Pesquisar conteúdo de arquivos usando ripgrep |
: depois digitar comando | Abrir modo de comando |
Pesquisa de arquivos com fd (pressione 's'):
Encontra arquivos recursivamente por padrão de nome
Usa fd internamente para pesquisa rápida
Resultados exibidos no seletor — Enter para ir
Pesquisa de conteúdo com ripgrep (pressione 'S'):
Pesquisa conteúdo de arquivos recursivamente
Usa ripgrep para pesquisa rápida de texto
Resultados mostram arquivo + linha correspondente
| Comando | Descrição |
|---|
| Painel de pré-visualização mostra conteúdo do arquivo | Automático para tipos suportados |
Tab | Alternar visibilidade do painel de pré-visualização |
Ctrl + Shift + = | Aumentar largura do painel de pré-visualização |
Ctrl + Shift + - | Diminuir largura do painel de pré-visualização |
| Tipo | Requisito |
|---|
| Arquivos de texto | Realce de sintaxe integrado |
| Imagens (PNG, JPG, GIF) | Protocolo Kitty, iTerm2 ou Sixel |
| Arquivos SVG | ImageMagick |
| Documentos PDF | Poppler (pdftoppm) |
| Miniaturas de vídeo | ffmpegthumbnailer |
| Arquivos compactados (zip, tar, etc.) | unar ou 7z |
| Markdown | Renderização integrada |
| JSON/YAML | Formatação integrada |
| Diretórios | Listagem integrada |
Protocolos de pré-visualização de imagem (auto-detectados):
Kitty — Terminal Kitty (melhor qualidade)
iTerm2 — iTerm2, WezTerm, Mintty
Sixel — Muitos terminais (foot, mlterm, etc.)
X11/Wayland — Via ueberzugpp (fallback)
Definir protocolo manualmente em yazi.toml:
[preview]
image_quality = 75
| Comando | Descrição |
|---|
,m | Ordenar por data de modificação |
,M | Ordenar por data de modificação (inverso) |
,c | Ordenar por data de criação |
,C | Ordenar por data de criação (inverso) |
,e | Ordenar por extensão |
,E | Ordenar por extensão (inverso) |
,s | Ordenar por tamanho |
,S | Ordenar por tamanho (inverso) |
,n | Ordenar por nome (natural) |
,N | Ordenar por nome (inverso) |
,r | Ordenação aleatória |
w | Alternar gerenciador de tarefas |
T | Alternar layout (1/2/3 colunas) |
| Arquivo | Finalidade |
|---|
~/.config/yazi/yazi.toml | Configuração principal |
~/.config/yazi/keymap.toml | Atalhos de teclado personalizados |
~/.config/yazi/theme.toml | Tema de cores |
~/.config/yazi/init.lua | Script de inicialização Lua (plugins) |
# ~/.config/yazi/yazi.toml
[manager]
ratio = [1, 4, 3] # Proporções das colunas (pai, atual, pré-visualização)
sort_by = "natural" # natural, modified, created, extension, size
sort_sensitive = false # Ordenação sensível a maiúsculas
sort_reverse = false # Ordenação inversa
sort_dir_first = true # Diretórios antes de arquivos
linemode = "size" # none, size, permissions, mtime
show_hidden = false # Mostrar arquivos ocultos
show_symlink = true # Mostrar alvos de links simbólicos
[preview]
tab_size = 2 # Largura da tabulação nas pré-visualizações
max_width = 600 # Largura máxima da pré-visualização
max_height = 900 # Altura máxima da pré-visualização
image_quality = 75 # Qualidade JPEG para pré-visualização de imagens
sixel_fraction = 15 # Fração de resolução Sixel
[opener]
edit = [
{ run = '${EDITOR:-vi} "$@"', block = true, for = "unix" },
{ run = 'code "%*"', orphan = true, for = "windows" },
]
[tasks]
micro_workers = 10 # Operações de arquivos pequenos
macro_workers = 25 # Operações de arquivos grandes
bizarre_retry = 5 # Tentativas em caso de erro
# ~/.config/yazi/keymap.toml
[[manager.prepend_keymap]]
on = ["g", "d"]
run = "cd ~/Downloads"
desc = "Ir para downloads"
[[manager.prepend_keymap]]
on = ["g", "p"]
run = "cd ~/projects"
desc = "Ir para projetos"
[[manager.prepend_keymap]]
on = ["g", "c"]
run = "cd ~/.config"
desc = "Ir para config"
# Abrir terminal no diretório atual
[[manager.prepend_keymap]]
on = ["!"]
run = 'shell "$SHELL" --block'
desc = "Abrir terminal aqui"
# Compactar arquivos selecionados
[[manager.prepend_keymap]]
on = ["C"]
run = 'shell "zip -r archive.zip $@" --block'
desc = "Compactar seleção"
# ~/.config/yazi/theme.toml
[filetype]
rules = [
{ name = "*/", fg = "#7aa2f7" }, # Diretórios
{ mime = "text/*", fg = "#c0caf5" }, # Arquivos de texto
{ mime = "image/*", fg = "#bb9af7" }, # Imagens
{ mime = "video/*", fg = "#e0af68" }, # Vídeos
{ mime = "audio/*", fg = "#9ece6a" }, # Áudio
{ name = "*.rs", fg = "#ff9e64" }, # Arquivos Rust
{ name = "*.py", fg = "#7aa2f7" }, # Arquivos Python
{ name = "*.md", fg = "#73daca" }, # Markdown
]
| Comando | Descrição |
|---|
ya pack -a owner/plugin | Instalar um plugin |
ya pack -i | Instalar todos os plugins do package.toml |
ya pack -u | Atualizar todos os plugins instalados |
ya pack -l | Listar plugins instalados |
| Plugin | Descrição |
|---|
yazi-rs/plugins:full-border | Borda completa ao redor dos painéis |
yazi-rs/plugins:git | Indicadores de status Git |
yazi-rs/plugins:chmod | Alterar permissões de arquivo |
yazi-rs/plugins:max-preview | Maximizar painel de pré-visualização |
yazi-rs/plugins:jump-to-char | Salto estilo Vim para caractere |
DreamMaoMao/searchjump.yazi | Pesquisar e saltar para arquivos |
# ~/.config/yazi/package.toml
[plugin]
prepend_previewers = [
{ name = "*.md", run = "glow" },
]
# Instalar e ativar
# ya pack -a yazi-rs/plugins:full-border
# ya pack -a yazi-rs/plugins:git
# ya pack -i
-- ~/.config/yazi/init.lua
-- Ativar plugins instalados
require("full-border"):setup()
require("git"):setup()
-
Instale todas as dependências de pré-visualização — Instale ffmpegthumbnailer, poppler, unar, jq, fd, ripgrep e imagemagick para a experiência completa de pré-visualização. Sem eles, muitos tipos de arquivo mostram texto bruto.
-
Use o wrapper de shell — Configure a função wrapper y para fazer cd para o último diretório ao sair do Yazi, tornando-o uma verdadeira ferramenta de navegação em vez de apenas um visualizador.
-
Adicione favoritos de diretórios — Configure atalhos personalizados para diretórios frequentes (g d para Downloads, g p para projetos) em keymap.toml para navegar instantaneamente.
-
Ative a integração com zoxide — Com zoxide instalado, pressionar z no Yazi permite pular para qualquer diretório visitado anteriormente sem navegar manualmente.
-
Use abas para trabalho em múltiplos locais — Pressione t para abrir novas abas quando precisar trabalhar em vários diretórios, depois use 1-9 para alternar instantaneamente.
-
Personalize as proporções das colunas — Ajuste ratio = [1, 4, 3] em yazi.toml para equilibrar listagem do pai, diretório atual e painel de pré-visualização para o tamanho da sua tela.
-
Instale o plugin git — O plugin yazi-rs/plugins:git mostra indicadores de status git ao lado dos arquivos, facilitando ver arquivos modificados, staged e não rastreados.
-
Use modo visual para operações em lote — Pressione V para entrar no modo visual, depois j/k para estender a seleção, então y/x/d para copiar/recortar/excluir em lote.
-
Personalize seu tema — Customize theme.toml com cores que combinem com o tema do seu terminal para uma aparência coesa. Defina cores diferentes por tipo de arquivo para identificação visual rápida.
-
Use pesquisa de conteúdo — Pressione S para pesquisar conteúdo de arquivos com ripgrep — é como ter grep -r com um seletor de arquivos interativo integrado.