Pular para o conteúdo

Yazi

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.

ComandoDescrição
brew install yazi ffmpegthumbnailer unar jq poppler fd ripgrep fzf zoxide imagemagickInstalação completa no macOS com todas as dependências de pré-visualização
brew install yaziInstalação mínima no macOS
cargo install --locked yazi-fm yazi-cliInstalar a partir do crates.io
pacman -S yazi ffmpegthumbnailer unarchiver jq poppler fd ripgrep fzf zoxideInstalação completa no Arch Linux
scoop install yaziInstalar no Windows com Scoop
winget install sxyazi.yaziInstalar no Windows com winget
nix-env -i yaziInstalar no NixOS
snap install yazi --classicInstalar no Ubuntu via Snap
ComandoDescrição
yaziIniciar Yazi no diretório atual
yazi /path/to/dirAbrir Yazi em diretório específico
yazi --versionMostrar versão instalada
ya --versionMostrar versão do auxiliar CLI
yazi --cwd-file=/tmp/cwdSalvar ú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
ComandoDescrição
j ou Mover cursor para baixo
k ou Mover cursor para cima
h ou Ir para diretório pai
l ou ou EnterEntrar no diretório ou abrir arquivo
g gIr para o primeiro item
GIr para o último item
~Ir para o diretório home
BackspaceIr para diretório pai
Ctrl + uRolar meia página acima
Ctrl + dRolar meia página abaixo
Ctrl + bRolar página inteira acima
Ctrl + fRolar página inteira abaixo
ComandoDescrição
zSaltar para diretório com zoxide
ZSaltar com zoxide (fzf interativo)
-Ir para diretório anterior
Ctrl + oVoltar no histórico de navegação
Ctrl + iAvançar no histórico de navegação
ComandoDescrição
oAbrir arquivo com programa padrão
OAbrir arquivo interativamente (escolher programa)
EnterAbrir arquivo ou entrar no diretório
qSair do Yazi
QSair sem salvar cwd-file
ComandoDescrição
yCopiar (yank) arquivos selecionados
xRecortar arquivos selecionados
pColar arquivos copiados/recortados
PColar com sobrescrita
Y ou XCancelar cópia/recorte
- depois pColar como link simbólico (absoluto)
_ depois pColar como link simbólico (relativo)
Ctrl + pColar como hard link
ComandoDescrição
aCriar novo arquivo ou diretório (/ final = diretório)
rRenomear arquivo selecionado
cRenomear com cursor no final
dEnviar arquivos selecionados para lixeira
DExcluir 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
ComandoDescrição
SpaceAlternar seleção no arquivo atual
VEntrar no modo visual (seleção múltipla)
Ctrl + aSelecionar todos os arquivos
Ctrl + rInverter seleção
EscapeLimpar seleção
ComandoDescrição
mSalvar diretório atual como favorito
'Ir para um favorito
"Excluir um favorito
ComandoDescrição
tCriar nova aba no diretório atual
Ctrl + cFechar aba atual
1 - 9Alternar para aba por número
[Alternar para aba anterior
]Alternar para próxima aba
{Trocar aba com anterior
}Trocar aba com próxima
ComandoDescrição
/Pesquisar arquivos no diretório atual
?Pesquisar arquivos no sentido inverso
nIr para próxima correspondência
NIr para correspondência anterior
ComandoDescrição
fFiltrar arquivos (mostrar apenas correspondentes)
sPesquisar arquivos usando fd (recursivo)
SPesquisar conteúdo de arquivos usando ripgrep
: depois digitar comandoAbrir 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
ComandoDescrição
Painel de pré-visualização mostra conteúdo do arquivoAutomático para tipos suportados
TabAlternar 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
TipoRequisito
Arquivos de textoRealce de sintaxe integrado
Imagens (PNG, JPG, GIF)Protocolo Kitty, iTerm2 ou Sixel
Arquivos SVGImageMagick
Documentos PDFPoppler (pdftoppm)
Miniaturas de vídeoffmpegthumbnailer
Arquivos compactados (zip, tar, etc.)unar ou 7z
MarkdownRenderização integrada
JSON/YAMLFormatação integrada
DiretóriosListagem 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
ComandoDescrição
,mOrdenar por data de modificação
,MOrdenar por data de modificação (inverso)
,cOrdenar por data de criação
,COrdenar por data de criação (inverso)
,eOrdenar por extensão
,EOrdenar por extensão (inverso)
,sOrdenar por tamanho
,SOrdenar por tamanho (inverso)
,nOrdenar por nome (natural)
,NOrdenar por nome (inverso)
,rOrdenação aleatória
wAlternar gerenciador de tarefas
TAlternar layout (1/2/3 colunas)
ArquivoFinalidade
~/.config/yazi/yazi.tomlConfiguração principal
~/.config/yazi/keymap.tomlAtalhos de teclado personalizados
~/.config/yazi/theme.tomlTema de cores
~/.config/yazi/init.luaScript 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
]
ComandoDescrição
ya pack -a owner/pluginInstalar um plugin
ya pack -iInstalar todos os plugins do package.toml
ya pack -uAtualizar todos os plugins instalados
ya pack -lListar plugins instalados
PluginDescrição
yazi-rs/plugins:full-borderBorda completa ao redor dos painéis
yazi-rs/plugins:gitIndicadores de status Git
yazi-rs/plugins:chmodAlterar permissões de arquivo
yazi-rs/plugins:max-previewMaximizar painel de pré-visualização
yazi-rs/plugins:jump-to-charSalto estilo Vim para caractere
DreamMaoMao/searchjump.yaziPesquisar 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()
  1. 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.

  2. 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.

  3. 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.

  4. Ative a integração com zoxide — Com zoxide instalado, pressionar z no Yazi permite pular para qualquer diretório visitado anteriormente sem navegar manualmente.

  5. 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.

  6. 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.

  7. 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.

  8. 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.

  9. 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.

  10. 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.