Aller au contenu

Yazi

Gestionnaire de fichiers terminal ultra-rapide écrit en Rust avec E/S asynchrones, aperçu d’images, système de plugins et support multi-onglets.

CommandeDescription
brew install yazi ffmpegthumbnailer unar jq poppler fd ripgrep fzf zoxide imagemagickInstallation complète sur macOS avec toutes les dépendances d’aperçu
brew install yaziInstallation minimale sur macOS
cargo install --locked yazi-fm yazi-cliInstaller depuis crates.io
pacman -S yazi ffmpegthumbnailer unarchiver jq poppler fd ripgrep fzf zoxideInstallation complète sur Arch Linux
scoop install yaziInstaller sur Windows avec Scoop
winget install sxyazi.yaziInstaller sur Windows avec winget
nix-env -i yaziInstaller sur NixOS
snap install yazi --classicInstaller sur Ubuntu via Snap
CommandeDescription
yaziLancer Yazi dans le répertoire courant
yazi /path/to/dirOuvrir Yazi dans un répertoire spécifique
yazi --versionAfficher la version installée
ya --versionAfficher la version de l’assistant CLI
yazi --cwd-file=/tmp/cwdSauvegarder le dernier répertoire à la sortie
# Bash/Zsh — ajouter à ~/.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 — ajouter à ~/.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
CommandeDescription
j ou Déplacer le curseur vers le bas
k ou Déplacer le curseur vers le haut
h ou Aller au répertoire parent
l ou ou EnterEntrer dans un répertoire ou ouvrir un fichier
g gAller au premier élément
GAller au dernier élément
~Aller au répertoire personnel
BackspaceAller au répertoire parent
Ctrl + uDéfiler d’une demi-page vers le haut
Ctrl + dDéfiler d’une demi-page vers le bas
Ctrl + bDéfiler d’une page complète vers le haut
Ctrl + fDéfiler d’une page complète vers le bas
CommandeDescription
zAller à un répertoire avec zoxide
ZAller avec zoxide (fzf interactif)
-Aller au répertoire précédent
Ctrl + oRevenir dans l’historique de navigation
Ctrl + iAvancer dans l’historique de navigation
CommandeDescription
oOuvrir le fichier avec le programme par défaut
OOuvrir le fichier de manière interactive (choisir le programme)
EnterOuvrir le fichier ou entrer dans le répertoire
qQuitter Yazi
QQuitter sans écrire le fichier cwd
CommandeDescription
yCopier les fichiers sélectionnés
xCouper les fichiers sélectionnés
pColler les fichiers copiés/coupés
PColler avec écrasement
Y ou XAnnuler copier/couper
- puis pColler comme lien symbolique (absolu)
_ puis pColler comme lien symbolique (relatif)
Ctrl + pColler comme lien physique
CommandeDescription
aCréer un nouveau fichier ou répertoire (/ final = répertoire)
rRenommer le fichier sélectionné
cRenommer avec le curseur à la fin
dMettre les fichiers sélectionnés à la corbeille
DSupprimer définitivement les fichiers sélectionnés
.Basculer la visibilité des fichiers cachés
Création de fichiers et répertoires :
  a myfile.txt      → Crée un nouveau fichier
  a mydir/          → Crée un nouveau répertoire (barre oblique finale)
  a path/to/file    → Crée une structure imbriquée

Renommage en masse :
  Sélectionner plusieurs fichiers → r → Ouvre $EDITOR
  Chaque ligne = un nom de fichier, modifier et sauvegarder pour tout renommer
CommandeDescription
SpaceBasculer la sélection sur le fichier courant
VEntrer en mode visuel (multi-sélection)
Ctrl + aSélectionner tous les fichiers
Ctrl + rInverser la sélection
EscapeEffacer la sélection
CommandeDescription
mEnregistrer le répertoire courant comme signet
'Aller à un signet
"Supprimer un signet
CommandeDescription
tCréer un nouvel onglet dans le répertoire courant
Ctrl + cFermer l’onglet courant
1 - 9Passer à l’onglet par numéro
[Passer à l’onglet précédent
]Passer à l’onglet suivant
{Échanger l’onglet avec le précédent
}Échanger l’onglet avec le suivant
CommandeDescription
/Rechercher des fichiers dans le répertoire courant
?Rechercher des fichiers en arrière
nAller à la correspondance suivante
NAller à la correspondance précédente
CommandeDescription
fFiltrer les fichiers (afficher uniquement les correspondances)
sRechercher des fichiers avec fd (récursif)
SRechercher dans le contenu des fichiers avec ripgrep
: puis taper la commandeOuvrir le mode commande
Recherche de fichiers avec fd (appuyer sur 's') :
  Trouve récursivement les fichiers par motif de nom
  Utilise fd en arrière-plan pour une recherche rapide
  Les résultats sont affichés dans un sélecteur — Enter pour aller au fichier

Recherche de contenu avec ripgrep (appuyer sur 'S') :
  Recherche le contenu des fichiers récursivement
  Utilise ripgrep pour une recherche de texte rapide
  Les résultats affichent le fichier + la ligne correspondante
CommandeDescription
Le panneau d’aperçu affiche le contenu des fichiersAutomatique pour les types pris en charge
TabBasculer la visibilité du panneau d’aperçu
Ctrl + Shift + =Augmenter la largeur du panneau d’aperçu
Ctrl + Shift + -Diminuer la largeur du panneau d’aperçu
TypePrérequis
Fichiers texteIntégré avec coloration syntaxique
Images (PNG, JPG, GIF)Protocole Kitty, iTerm2 ou Sixel
Fichiers SVGImageMagick
Documents PDFPoppler (pdftoppm)
Miniatures vidéoffmpegthumbnailer
Archives (zip, tar, etc.)unar ou 7z
MarkdownRendu intégré
JSON/YAMLFormatage intégré
RépertoiresListing intégré
Protocoles d'aperçu d'images (auto-détectés) :

Kitty    — Terminal Kitty (meilleure qualité)
iTerm2   — iTerm2, WezTerm, Mintty
Sixel    — Nombreux terminaux (foot, mlterm, etc.)
X11/Wayland — Via ueberzugpp (solution de repli)

Définir le protocole manuellement dans yazi.toml :
  [preview]
  image_quality = 75
CommandeDescription
,mTrier par date de modification
,MTrier par date de modification (inversé)
,cTrier par date de création
,CTrier par date de création (inversé)
,eTrier par extension
,ETrier par extension (inversé)
,sTrier par taille
,STrier par taille (inversé)
,nTrier par nom (naturel)
,NTrier par nom (inversé)
,rTri aléatoire
wBasculer le gestionnaire de tâches
TBasculer la disposition (1/2/3 colonnes)
FichierObjectif
~/.config/yazi/yazi.tomlConfiguration principale
~/.config/yazi/keymap.tomlRaccourcis clavier personnalisés
~/.config/yazi/theme.tomlThème de couleurs
~/.config/yazi/init.luaScript d’initialisation Lua (plugins)
# ~/.config/yazi/yazi.toml

[manager]
ratio = [1, 4, 3]          # Ratios des colonnes (parent, courant, aperçu)
sort_by = "natural"         # natural, modified, created, extension, size
sort_sensitive = false       # Tri sensible à la casse
sort_reverse = false         # Inverser l'ordre de tri
sort_dir_first = true        # Répertoires avant les fichiers
linemode = "size"           # none, size, permissions, mtime
show_hidden = false          # Afficher les fichiers cachés
show_symlink = true          # Afficher les cibles des liens symboliques

[preview]
tab_size = 2                # Largeur de tabulation dans les aperçus
max_width = 600             # Largeur maximale de l'aperçu
max_height = 900            # Hauteur maximale de l'aperçu
image_quality = 75          # Qualité JPEG pour les aperçus d'images
sixel_fraction = 15         # Fraction de résolution Sixel

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

[tasks]
micro_workers = 10          # Opérations sur petits fichiers
macro_workers = 25          # Opérations sur gros fichiers
bizarre_retry = 5           # Nouvelle tentative en cas d'erreur
# ~/.config/yazi/keymap.toml

[[manager.prepend_keymap]]
on = ["g", "d"]
run = "cd ~/Downloads"
desc = "Aller aux téléchargements"

[[manager.prepend_keymap]]
on = ["g", "p"]
run = "cd ~/projects"
desc = "Aller aux projets"

[[manager.prepend_keymap]]
on = ["g", "c"]
run = "cd ~/.config"
desc = "Aller à la configuration"

# Ouvrir un terminal dans le répertoire courant
[[manager.prepend_keymap]]
on = ["!"]
run = 'shell "$SHELL" --block'
desc = "Ouvrir le terminal ici"

# Compresser les fichiers sélectionnés
[[manager.prepend_keymap]]
on = ["C"]
run = 'shell "zip -r archive.zip $@" --block'
desc = "Compresser la sélection"
# ~/.config/yazi/theme.toml

[filetype]
rules = [
  { name = "*/", fg = "#7aa2f7" },           # Répertoires
  { mime = "text/*", fg = "#c0caf5" },        # Fichiers texte
  { mime = "image/*", fg = "#bb9af7" },       # Images
  { mime = "video/*", fg = "#e0af68" },       # Vidéos
  { mime = "audio/*", fg = "#9ece6a" },       # Audio
  { name = "*.rs", fg = "#ff9e64" },          # Fichiers Rust
  { name = "*.py", fg = "#7aa2f7" },          # Fichiers Python
  { name = "*.md", fg = "#73daca" },          # Markdown
]
CommandeDescription
ya pack -a owner/pluginInstaller un plugin
ya pack -iInstaller tous les plugins depuis package.toml
ya pack -uMettre à jour tous les plugins installés
ya pack -lLister les plugins installés
PluginDescription
yazi-rs/plugins:full-borderBordure complète autour des panneaux
yazi-rs/plugins:gitIndicateurs de statut git
yazi-rs/plugins:chmodModifier les permissions des fichiers
yazi-rs/plugins:max-previewMaximiser le panneau d’aperçu
yazi-rs/plugins:jump-to-charSaut vers un caractère style Vim
DreamMaoMao/searchjump.yaziRechercher et aller à des fichiers
# ~/.config/yazi/package.toml
[plugin]
prepend_previewers = [
  { name = "*.md", run = "glow" },
]

# Installer et activer
# ya pack -a yazi-rs/plugins:full-border
# ya pack -a yazi-rs/plugins:git
# ya pack -i
-- ~/.config/yazi/init.lua
-- Activer les plugins installés
require("full-border"):setup()
require("git"):setup()
  1. Installer toutes les dépendances d’aperçu — Installez ffmpegthumbnailer, poppler, unar, jq, fd, ripgrep et imagemagick pour l’expérience d’aperçu complète. Sans eux, de nombreux types de fichiers affichent du texte brut.

  2. Utiliser le wrapper shell — Configurez la fonction wrapper y pour que vous fassiez cd vers le dernier répertoire en quittant Yazi, ce qui en fait un véritable outil de navigation plutôt qu’un simple visualiseur.

  3. Ajouter des signets de répertoires — Configurez des raccourcis personnalisés pour les répertoires fréquents (g d pour Downloads, g p pour projects) dans keymap.toml pour naviguer instantanément.

  4. Activer l’intégration zoxide — Avec zoxide installé, appuyer sur z dans Yazi vous permet de sauter en recherche floue vers n’importe quel répertoire précédemment visité sans navigation manuelle.

  5. Utiliser les onglets pour le travail multi-emplacements — Appuyez sur t pour ouvrir de nouveaux onglets quand vous devez travailler sur plusieurs répertoires, puis utilisez 1-9 pour basculer instantanément.

  6. Personnaliser les ratios de colonnes — Ajustez ratio = [1, 4, 3] dans yazi.toml pour équilibrer la liste du parent, le répertoire courant et le panneau d’aperçu selon votre taille d’écran.

  7. Installer le plugin git — Le plugin yazi-rs/plugins:git affiche les indicateurs de statut git à côté des fichiers, facilitant la visualisation des fichiers modifiés, indexés et non suivis.

  8. Utiliser le mode visuel pour les opérations en masse — Appuyez sur V pour entrer en mode visuel, puis j/k pour étendre la sélection, puis y/x/d pour copier/couper/supprimer en masse.

  9. Configurer votre thème — Personnalisez theme.toml avec des couleurs qui correspondent à votre thème de terminal pour un aspect cohérent. Définissez des couleurs différentes par type de fichier pour une identification visuelle rapide.

  10. Utiliser la recherche de contenu — Appuyez sur S pour rechercher dans le contenu des fichiers avec ripgrep — c’est comme avoir grep -r avec un sélecteur de fichiers interactif intégré.