Ir al contenido

Yazi

Gestor de archivos de terminal ultrarrápido escrito en Rust con I/O asíncrono, vista previa de imágenes, sistema de plugins y soporte multi-pestaña.

ComandoDescripción
brew install yazi ffmpegthumbnailer unar jq poppler fd ripgrep fzf zoxide imagemagickInstalación completa en macOS con todas las dependencias de vista previa
brew install yaziInstalación mínima en macOS
cargo install --locked yazi-fm yazi-cliInstalar desde crates.io
pacman -S yazi ffmpegthumbnailer unarchiver jq poppler fd ripgrep fzf zoxideInstalación completa en Arch Linux
scoop install yaziInstalar en Windows con Scoop
winget install sxyazi.yaziInstalar en Windows con winget
nix-env -i yaziInstalar en NixOS
snap install yazi --classicInstalar en Ubuntu vía Snap
ComandoDescripción
yaziLanzar Yazi en el directorio actual
yazi /path/to/dirAbrir Yazi en un directorio específico
yazi --versionMostrar versión instalada
ya --versionMostrar versión del helper CLI
yazi --cwd-file=/tmp/cwdGuardar último directorio al salir
# Bash/Zsh — agregar a ~/.bashrc o ~/.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 — agregar a ~/.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
ComandoDescripción
j o Mover cursor hacia abajo
k o Mover cursor hacia arriba
h o Ir al directorio padre
l o o EnterEntrar al directorio o abrir archivo
g gIr al primer elemento
GIr al último elemento
~Ir al directorio home
BackspaceIr al directorio padre
Ctrl + uDesplazar media página arriba
Ctrl + dDesplazar media página abajo
Ctrl + bDesplazar página completa arriba
Ctrl + fDesplazar página completa abajo
ComandoDescripción
zSaltar a directorio con zoxide
ZSaltar con zoxide (fzf interactivo)
-Ir al directorio anterior
Ctrl + oRetroceder en el historial de navegación
Ctrl + iAvanzar en el historial de navegación
ComandoDescripción
oAbrir archivo con programa predeterminado
OAbrir archivo interactivamente (elegir programa)
EnterAbrir archivo o entrar al directorio
qSalir de Yazi
QSalir sin escribir cwd-file
ComandoDescripción
yCopiar archivos seleccionados
xCortar archivos seleccionados
pPegar archivos copiados/cortados
PPegar con sobrescritura
Y o XCancelar copiar/cortar
- luego pPegar como enlace simbólico (absoluto)
_ luego pPegar como enlace simbólico (relativo)
Ctrl + pPegar como enlace duro
ComandoDescripción
aCrear nuevo archivo o directorio (/ final = directorio)
rRenombrar archivo seleccionado
cRenombrar con cursor al final
dEnviar archivos seleccionados a la papelera
DEliminar permanentemente archivos seleccionados
.Alternar visibilidad de archivos ocultos
Crear archivos y directorios:
  a myfile.txt      → Crea un nuevo archivo
  a mydir/          → Crea un nuevo directorio (barra final)
  a path/to/file    → Crea estructura anidada

Renombrado masivo:
  Seleccionar múltiples archivos → r → Abre $EDITOR
  Cada línea = un nombre de archivo, editar y guardar para renombrar todos
ComandoDescripción
SpaceAlternar selección en el archivo actual
VEntrar en modo visual (multi-selección)
Ctrl + aSeleccionar todos los archivos
Ctrl + rInvertir selección
EscapeLimpiar selección
ComandoDescripción
mGuardar directorio actual como marcador
'Saltar a un marcador
"Eliminar un marcador
ComandoDescripción
tCrear nueva pestaña en el directorio actual
Ctrl + cCerrar pestaña actual
1 - 9Cambiar a pestaña por número
[Cambiar a pestaña anterior
]Cambiar a pestaña siguiente
{Intercambiar pestaña con la anterior
}Intercambiar pestaña con la siguiente
ComandoDescripción
/Buscar archivos en el directorio actual
?Buscar archivos hacia atrás
nIr a la siguiente coincidencia de búsqueda
NIr a la coincidencia anterior de búsqueda
ComandoDescripción
fFiltrar archivos (mostrar solo coincidentes)
sBuscar archivos usando fd (recursivo)
SBuscar contenido de archivos usando ripgrep
: luego escribir comandoAbrir modo de comando
Búsqueda de archivos con fd (presionar 's'):
  Encuentra archivos recursivamente por patrón de nombre
  Usa fd internamente para búsqueda rápida
  Los resultados se muestran en el selector — Enter para saltar

Búsqueda de contenido con ripgrep (presionar 'S'):
  Busca contenido de archivos recursivamente
  Usa ripgrep para búsqueda rápida de texto
  Los resultados muestran archivo + línea coincidente
ComandoDescripción
El panel de vista previa muestra contenido del archivoAutomático para tipos soportados
TabAlternar visibilidad del panel de vista previa
Ctrl + Shift + =Aumentar ancho del panel de vista previa
Ctrl + Shift + -Disminuir ancho del panel de vista previa
TipoRequisito
Archivos de textoIntegrado con resaltado de sintaxis
Imágenes (PNG, JPG, GIF)Protocolo Kitty, iTerm2 o Sixel
Archivos SVGImageMagick
Documentos PDFPoppler (pdftoppm)
Miniaturas de videoffmpegthumbnailer
Archivos comprimidos (zip, tar, etc.)unar o 7z
MarkdownRenderizado integrado
JSON/YAMLFormateo integrado
DirectoriosListado integrado
Protocolos de vista previa de imágenes (auto-detectados):

Kitty    — Terminal Kitty (mejor calidad)
iTerm2   — iTerm2, WezTerm, Mintty
Sixel    — Muchos terminales (foot, mlterm, etc.)
X11/Wayland — Vía ueberzugpp (respaldo)

Establecer protocolo manualmente en yazi.toml:
  [preview]
  image_quality = 75
ComandoDescripción
,mOrdenar por fecha de modificación
,MOrdenar por fecha de modificación (invertido)
,cOrdenar por fecha de creación
,COrdenar por fecha de creación (invertido)
,eOrdenar por extensión
,EOrdenar por extensión (invertido)
,sOrdenar por tamaño
,SOrdenar por tamaño (invertido)
,nOrdenar por nombre (natural)
,NOrdenar por nombre (invertido)
,rOrden aleatorio
wAlternar gestor de tareas
TAlternar diseño (1/2/3 columnas)
ArchivoPropósito
~/.config/yazi/yazi.tomlConfiguración principal
~/.config/yazi/keymap.tomlAtajos de teclado personalizados
~/.config/yazi/theme.tomlTema de colores
~/.config/yazi/init.luaScript de inicio Lua (plugins)
# ~/.config/yazi/yazi.toml

[manager]
ratio = [1, 4, 3]          # Proporciones de columnas (padre, actual, vista previa)
sort_by = "natural"         # natural, modified, created, extension, size
sort_sensitive = false       # Ordenación sensible a mayúsculas
sort_reverse = false         # Orden invertido
sort_dir_first = true        # Directorios antes que archivos
linemode = "size"           # none, size, permissions, mtime
show_hidden = false          # Mostrar archivos ocultos
show_symlink = true          # Mostrar destinos de enlaces simbólicos

[preview]
tab_size = 2                # Ancho de tabulación en vistas previas
max_width = 600             # Ancho máximo de vista previa
max_height = 900            # Alto máximo de vista previa
image_quality = 75          # Calidad JPEG para vistas previas de imágenes
sixel_fraction = 15         # Fracción de resolución Sixel

[opener]
edit = [
  { run = '${EDITOR:-vi} "$@"', block = true, for = "unix" },
  { run = 'code "%*"', orphan = true, for = "windows" },
]

[tasks]
micro_workers = 10          # Operaciones de archivos pequeños
macro_workers = 25          # Operaciones de archivos grandes
bizarre_retry = 5           # Reintentos en caso de error

Atajos de Teclado Personalizados (keymap.toml)

Sección titulada «Atajos de Teclado Personalizados (keymap.toml)»
# ~/.config/yazi/keymap.toml

[[manager.prepend_keymap]]
on = ["g", "d"]
run = "cd ~/Downloads"
desc = "Ir a descargas"

[[manager.prepend_keymap]]
on = ["g", "p"]
run = "cd ~/projects"
desc = "Ir a proyectos"

[[manager.prepend_keymap]]
on = ["g", "c"]
run = "cd ~/.config"
desc = "Ir a configuración"

# Abrir terminal en el directorio actual
[[manager.prepend_keymap]]
on = ["!"]
run = 'shell "$SHELL" --block'
desc = "Abrir terminal aquí"

# Comprimir archivos seleccionados
[[manager.prepend_keymap]]
on = ["C"]
run = 'shell "zip -r archive.zip $@" --block'
desc = "Comprimir selección"
# ~/.config/yazi/theme.toml

[filetype]
rules = [
  { name = "*/", fg = "#7aa2f7" },           # Directorios
  { mime = "text/*", fg = "#c0caf5" },        # Archivos de texto
  { mime = "image/*", fg = "#bb9af7" },       # Imágenes
  { mime = "video/*", fg = "#e0af68" },       # Videos
  { mime = "audio/*", fg = "#9ece6a" },       # Audio
  { name = "*.rs", fg = "#ff9e64" },          # Archivos Rust
  { name = "*.py", fg = "#7aa2f7" },          # Archivos Python
  { name = "*.md", fg = "#73daca" },          # Markdown
]
ComandoDescripción
ya pack -a owner/pluginInstalar un plugin
ya pack -iInstalar todos los plugins desde package.toml
ya pack -uActualizar todos los plugins instalados
ya pack -lListar plugins instalados
PluginDescripción
yazi-rs/plugins:full-borderBorde completo alrededor de paneles
yazi-rs/plugins:gitIndicadores de estado git
yazi-rs/plugins:chmodCambiar permisos de archivos
yazi-rs/plugins:max-previewMaximizar panel de vista previa
yazi-rs/plugins:jump-to-charSalto estilo Vim a carácter
DreamMaoMao/searchjump.yaziBuscar y saltar a archivos
# ~/.config/yazi/package.toml
[plugin]
prepend_previewers = [
  { name = "*.md", run = "glow" },
]

# Instalar y activar
# ya pack -a yazi-rs/plugins:full-border
# ya pack -a yazi-rs/plugins:git
# ya pack -i
-- ~/.config/yazi/init.lua
-- Activar plugins instalados
require("full-border"):setup()
require("git"):setup()
  1. Instala todas las dependencias de vista previa — Instala ffmpegthumbnailer, poppler, unar, jq, fd, ripgrep e imagemagick para la experiencia completa de vista previa. Sin ellas, muchos tipos de archivo muestran texto sin formato.

  2. Usa el wrapper del shell — Configura la función wrapper y para que hagas cd al último directorio al salir de Yazi, convirtiéndolo en una verdadera herramienta de navegación en lugar de solo un visor.

  3. Agrega marcadores de directorios — Configura atajos de teclado personalizados para directorios frecuentes (g d para Descargas, g p para proyectos) en keymap.toml para navegar instantáneamente.

  4. Habilita la integración con zoxide — Con zoxide instalado, presionar z en Yazi te permite saltar difusamente a cualquier directorio previamente visitado sin navegar manualmente.

  5. Usa pestañas para trabajo en múltiples ubicaciones — Presiona t para abrir nuevas pestañas cuando necesites trabajar en múltiples directorios, luego usa 1-9 para cambiar instantáneamente.

  6. Personaliza las proporciones de columnas — Ajusta ratio = [1, 4, 3] en yazi.toml para equilibrar el listado padre, directorio actual y panel de vista previa para tu tamaño de pantalla.

  7. Instala el plugin de git — El plugin yazi-rs/plugins:git muestra indicadores de estado git junto a los archivos, facilitando ver archivos modificados, preparados y sin rastrear.

  8. Usa modo visual para operaciones masivas — Presiona V para entrar en modo visual, luego j/k para extender la selección, luego y/x/d para copiar/cortar/eliminar en lote.

  9. Configura tu tema — Personaliza theme.toml con colores que coincidan con el tema de tu terminal para un aspecto cohesivo. Establece diferentes colores por tipo de archivo para identificación visual rápida.

  10. Usa búsqueda de contenido — Presiona S para buscar contenido de archivos con ripgrep — es como tener grep -r con un selector de archivos interactivo integrado.