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.
| Comando | Descripción |
|---|
brew install yazi ffmpegthumbnailer unar jq poppler fd ripgrep fzf zoxide imagemagick | Instalación completa en macOS con todas las dependencias de vista previa |
brew install yazi | Instalación mínima en macOS |
cargo install --locked yazi-fm yazi-cli | Instalar desde crates.io |
pacman -S yazi ffmpegthumbnailer unarchiver jq poppler fd ripgrep fzf zoxide | Instalación completa en Arch Linux |
scoop install yazi | Instalar en Windows con Scoop |
winget install sxyazi.yazi | Instalar en Windows con winget |
nix-env -i yazi | Instalar en NixOS |
snap install yazi --classic | Instalar en Ubuntu vía Snap |
| Comando | Descripción |
|---|
yazi | Lanzar Yazi en el directorio actual |
yazi /path/to/dir | Abrir Yazi en un directorio específico |
yazi --version | Mostrar versión instalada |
ya --version | Mostrar versión del helper CLI |
yazi --cwd-file=/tmp/cwd | Guardar ú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
| Comando | Descripción |
|---|
j o ↓ | Mover cursor hacia abajo |
k o ↑ | Mover cursor hacia arriba |
h o ← | Ir al directorio padre |
l o → o Enter | Entrar al directorio o abrir archivo |
g g | Ir al primer elemento |
G | Ir al último elemento |
~ | Ir al directorio home |
Backspace | Ir al directorio padre |
Ctrl + u | Desplazar media página arriba |
Ctrl + d | Desplazar media página abajo |
Ctrl + b | Desplazar página completa arriba |
Ctrl + f | Desplazar página completa abajo |
| Comando | Descripción |
|---|
z | Saltar a directorio con zoxide |
Z | Saltar con zoxide (fzf interactivo) |
- | Ir al directorio anterior |
Ctrl + o | Retroceder en el historial de navegación |
Ctrl + i | Avanzar en el historial de navegación |
| Comando | Descripción |
|---|
o | Abrir archivo con programa predeterminado |
O | Abrir archivo interactivamente (elegir programa) |
Enter | Abrir archivo o entrar al directorio |
q | Salir de Yazi |
Q | Salir sin escribir cwd-file |
| Comando | Descripción |
|---|
y | Copiar archivos seleccionados |
x | Cortar archivos seleccionados |
p | Pegar archivos copiados/cortados |
P | Pegar con sobrescritura |
Y o X | Cancelar copiar/cortar |
- luego p | Pegar como enlace simbólico (absoluto) |
_ luego p | Pegar como enlace simbólico (relativo) |
Ctrl + p | Pegar como enlace duro |
| Comando | Descripción |
|---|
a | Crear nuevo archivo o directorio (/ final = directorio) |
r | Renombrar archivo seleccionado |
c | Renombrar con cursor al final |
d | Enviar archivos seleccionados a la papelera |
D | Eliminar 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
| Comando | Descripción |
|---|
Space | Alternar selección en el archivo actual |
V | Entrar en modo visual (multi-selección) |
Ctrl + a | Seleccionar todos los archivos |
Ctrl + r | Invertir selección |
Escape | Limpiar selección |
| Comando | Descripción |
|---|
m | Guardar directorio actual como marcador |
' | Saltar a un marcador |
" | Eliminar un marcador |
| Comando | Descripción |
|---|
t | Crear nueva pestaña en el directorio actual |
Ctrl + c | Cerrar pestaña actual |
1 - 9 | Cambiar 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 |
| Comando | Descripción |
|---|
/ | Buscar archivos en el directorio actual |
? | Buscar archivos hacia atrás |
n | Ir a la siguiente coincidencia de búsqueda |
N | Ir a la coincidencia anterior de búsqueda |
| Comando | Descripción |
|---|
f | Filtrar archivos (mostrar solo coincidentes) |
s | Buscar archivos usando fd (recursivo) |
S | Buscar contenido de archivos usando ripgrep |
: luego escribir comando | Abrir 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
| Comando | Descripción |
|---|
| El panel de vista previa muestra contenido del archivo | Automático para tipos soportados |
Tab | Alternar visibilidad del panel de vista previa |
Ctrl + Shift + = | Aumentar ancho del panel de vista previa |
Ctrl + Shift + - | Disminuir ancho del panel de vista previa |
| Tipo | Requisito |
|---|
| Archivos de texto | Integrado con resaltado de sintaxis |
| Imágenes (PNG, JPG, GIF) | Protocolo Kitty, iTerm2 o Sixel |
| Archivos SVG | ImageMagick |
| Documentos PDF | Poppler (pdftoppm) |
| Miniaturas de video | ffmpegthumbnailer |
| Archivos comprimidos (zip, tar, etc.) | unar o 7z |
| Markdown | Renderizado integrado |
| JSON/YAML | Formateo integrado |
| Directorios | Listado 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
| Comando | Descripción |
|---|
,m | Ordenar por fecha de modificación |
,M | Ordenar por fecha de modificación (invertido) |
,c | Ordenar por fecha de creación |
,C | Ordenar por fecha de creación (invertido) |
,e | Ordenar por extensión |
,E | Ordenar por extensión (invertido) |
,s | Ordenar por tamaño |
,S | Ordenar por tamaño (invertido) |
,n | Ordenar por nombre (natural) |
,N | Ordenar por nombre (invertido) |
,r | Orden aleatorio |
w | Alternar gestor de tareas |
T | Alternar diseño (1/2/3 columnas) |
| Archivo | Propósito |
|---|
~/.config/yazi/yazi.toml | Configuración principal |
~/.config/yazi/keymap.toml | Atajos de teclado personalizados |
~/.config/yazi/theme.toml | Tema de colores |
~/.config/yazi/init.lua | Script 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
# ~/.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
]
| Comando | Descripción |
|---|
ya pack -a owner/plugin | Instalar un plugin |
ya pack -i | Instalar todos los plugins desde package.toml |
ya pack -u | Actualizar todos los plugins instalados |
ya pack -l | Listar plugins instalados |
| Plugin | Descripción |
|---|
yazi-rs/plugins:full-border | Borde completo alrededor de paneles |
yazi-rs/plugins:git | Indicadores de estado git |
yazi-rs/plugins:chmod | Cambiar permisos de archivos |
yazi-rs/plugins:max-preview | Maximizar panel de vista previa |
yazi-rs/plugins:jump-to-char | Salto estilo Vim a carácter |
DreamMaoMao/searchjump.yazi | Buscar 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()
-
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.
-
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.
-
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.
-
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.
-
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.
-
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.
-
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.
-
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.
-
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.
-
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.