
Le problème que vous connaissez
Section intitulée « Le problème que vous connaissez »Vous avez lancé une commande Docker la semaine dernière. Elle fonctionnait parfaitement. Mais laquelle exactement ?
Vous appuyez sur Ctrl+R, tapez docker… et vous scrollez. Longtemps. Vous ne trouvez pas. Vous finissez par la retaper de mémoire, avec une erreur de syntaxe.
atuin résout ce problème en 3 secondes.
Vous appuyez sur ↑, tapez docker, et l’interface atuin s’ouvre avec toutes vos commandes Docker. Vous sélectionnez, Entrée, c’est fait.
Ce qu’atuin enregistre (et ce qu’il n’enregistre pas)
Section intitulée « Ce qu’atuin enregistre (et ce qu’il n’enregistre pas) »Voici ce qu’atuin enregistre pour chaque commande exécutée après son installation :
# Exemple de commande avec contexte completatuin history list -f "{time}\t{command}\t{directory}\t{duration}\t{exit}" -r false | head -32026-01-30 13:56:11 code ~/.config/atuin/config.toml /home/bob/Projets 109ms 02026-01-30 13:55:45 npm run dev /home/bob/Projets 13m 1302026-01-30 13:33:37 docker ps -a /home/bob/infra 1s 0C’est ce contexte qui permet les filtres “par dossier” ou “par machine” — impossibles avec Ctrl+R.
Installez atuin en 2 minutes
Section intitulée « Installez atuin en 2 minutes »-
Lancez le script d’installation
Fenêtre de terminal bash <(curl --proto '=https' --tlsv1.2 -sSf https://setup.atuin.sh)Le script détecte votre shell (Bash, Zsh ou Fish) et configure tout automatiquement. Le binaire est installé dans
~/.atuin/bin/. -
Redémarrez votre shell
Fenêtre de terminal exec $SHELL -
Importez votre historique existant
Fenêtre de terminal atuin import autoVous verrez quelque chose comme :
Importing history from zshFound 8347 entriesImported 8347 new entriesCes commandes importées n’auront pas de contexte (dossier, durée), mais vous pourrez les retrouver.
-
Testez : appuyez sur ↑
L’interface atuin s’ouvre. Vous êtes prêt.
brew install atuinecho 'eval "$(atuin init zsh)"' >> ~/.zshrcexec $SHELLatuin import autocargo install atuin --lockedecho 'eval "$(atuin init bash)"' >> ~/.bashrc # ou zsh, fishexec $SHELLatuin import autosudo pacman -S atuinecho 'eval "$(atuin init bash)"' >> ~/.bashrcexec $SHELLatuin import autoVotre première recherche
Section intitulée « Votre première recherche »Maintenant qu’atuin est installé, essayons ensemble.
Étape 1 : Appuyez sur ↑ (flèche haut).
L’interface atuin s’ouvre. Vous voyez vos dernières commandes.
Étape 2 : Tapez git.
Sans appuyer sur Entrée. Juste les lettres g, i, t.
Regardez : la liste se filtre instantanément. Vous ne voyez plus que les commandes contenant “git” : git status, git push, git log --oneline, etc.
Étape 3 : Naviguez avec les flèches, puis :
- Entrée → exécute la commande immédiatement
- Tab → insère la commande dans votre prompt (pour la modifier avant de l’exécuter)
C’est tout. Vous savez utiliser atuin.
Les 4 situations que vous rencontrerez
Section intitulée « Les 4 situations que vous rencontrerez »Situation 1 : “Je cherche une commande Docker”
Section intitulée « Situation 1 : “Je cherche une commande Docker” »Vous vous souvenez vaguement d’une commande Docker, mais pas exactement.
Ce que vous faites : ↑, tapez docker, scrollez.
La recherche est “fuzzy” : docker trouve aussi docker-compose, Dockerfile, etc. C’est ce que vous voulez la plupart du temps.
Situation 2 : “Je veux exactement docker ps -a”
Section intitulée « Situation 2 : “Je veux exactement docker ps -a” »Vous ne voulez pas docker-compose ps, vous voulez exactement docker ps -a.
Ce que vous faites : ↑, tapez 'docker ps -a' (avec les guillemets simples).
Les guillemets simples désactivent la recherche fuzzy. Vous obtenez uniquement les correspondances exactes.
Situation 3 : “Je veux les commandes de ce projet”
Section intitulée « Situation 3 : “Je veux les commandes de ce projet” »Vous êtes dans ~/projects/api et vous voulez voir uniquement les commandes que vous avez lancées ici, pas celles des autres projets.
Ce que vous faites :
- ↑ pour ouvrir atuin
- Appuyez sur Ctrl+R plusieurs fois jusqu’à voir “directory” dans l’en-tête
- Tapez votre recherche
Le filtre “directory” limite aux commandes exécutées dans le répertoire courant.
Situation 4 : “Je veux les commandes de ce serveur”
Section intitulée « Situation 4 : “Je veux les commandes de ce serveur” »Vous êtes connecté en SSH sur prod-server et vous voulez voir uniquement les commandes lancées sur cette machine (pas celles de votre laptop).
Ce que vous faites :
- ↑ pour ouvrir atuin
- Appuyez sur Ctrl+R plusieurs fois jusqu’à voir “host”
- Tapez votre recherche
Le filtre “host” limite aux commandes de la machine actuelle.
Les filtres d’atuin
Section intitulée « Les filtres d’atuin »Quand vous appuyez sur Ctrl+R dans l’interface atuin, vous basculez entre ces modes :
| Filtre | Ce qu’il montre | Quand l’utiliser |
|---|---|---|
| global | Tout votre historique | Recherche générale |
| host | Cette machine uniquement | Commandes spécifiques au serveur |
| session | Ce terminal uniquement | Ce que vous faites en ce moment |
| directory | Ce dossier uniquement | Commandes de ce projet |
| workspace | Ce repo Git | Si vous êtes dans un sous-dossier d’un repo |
Pour activer le filtre workspace, ajoutez dans votre config :
workspaces = trueSyntaxe de recherche
Section intitulée « Syntaxe de recherche »La recherche utilise la syntaxe fzf :
| Ce que vous tapez | Ce que ça fait | Exemple |
|---|---|---|
mot | Recherche fuzzy (par défaut) | docker trouve docker, docker-compose |
'mot exact' | Correspondance exacte | 'docker ps' trouve uniquement docker ps |
^debut | Commence par | ^git trouve git log, git status |
fin$ | Se termine par | .json$ trouve cat config.json |
!mot | Exclut un mot | docker !compose trouve docker sans compose |
Vous pouvez combiner avec | (OU) :
^git log$ | ^git status$Configuration recommandée
Section intitulée « Configuration recommandée »Créez ou éditez ~/.config/atuin/config.toml :
## Style d'affichage## "compact" = 1 ligne par commande (défaut)## "full" = 2 lignes (commande + contexte)## "auto" = adaptatif selon la taille du terminalstyle = "full"
## Mode de recherche : "fuzzy" (recommandé), "prefix", "fulltext", "skim"search_mode = "fuzzy"
## Filtre par défaut : "global", "host", "session", "directory"filter_mode = "global"
## Activer le filtre par repo Gitworkspaces = true
## Entrée = exécute immédiatement (true) ou insère pour édition (false)enter_accept = true
## Afficher la preview des commandes longuesshow_preview = true
## Détection automatique des secrets (activé par défaut, ne pas désactiver)secrets_filter = true
[sync]## Sync v2 (plus rapide)records = trueLes deux styles d’affichage
Section intitulée « Les deux styles d’affichage »Style compact (défaut) — une ligne par commande :
docker ps -anpm run devgit push origin mainStyle full — deux lignes avec le contexte :
docker ps -a~/projects/api • 1s • exit 0 • 2026-01-30 14:23
npm run dev~/projects/api • 13m • exit 130 • 2026-01-30 13:33Le style full est plus informatif mais prend plus de place. Choisissez selon votre préférence.
Synchronisation entre machines (optionnel)
Section intitulée « Synchronisation entre machines (optionnel) »Pourquoi synchroniser ?
Section intitulée « Pourquoi synchroniser ? »Vous avez un laptop et un serveur. Vous lancez une commande sur le serveur, puis vous voulez la retrouver depuis votre laptop. Sans sync, impossible.
Avec la sync atuin, votre historique est chiffré localement avant d’être envoyé. Même les administrateurs du serveur ne peuvent pas lire vos commandes.
Comment activer la sync
Section intitulée « Comment activer la sync »-
Sur votre première machine, créez un compte
Fenêtre de terminal atuin register -u votre_pseudo -e votre@email.comEntrez un mot de passe quand demandé. Une clé de chiffrement est générée automatiquement.
-
Sauvegardez votre clé (important)
Fenêtre de terminal atuin keyCopiez cette clé dans un gestionnaire de mots de passe. C’est elle qui permet de déchiffrer votre historique. Si vous la perdez, vos commandes synchronisées sont irrécupérables.
-
Sur une autre machine, connectez-vous
Installez atuin, puis :
Fenêtre de terminal atuin login -u votre_pseudoatuin syncVos commandes des deux machines sont maintenant synchronisées.
Fréquence de synchronisation
Section intitulée « Fréquence de synchronisation »Par défaut, atuin synchronise toutes les heures. Vous pouvez ajuster :
## Sync toutes les 10 minutessync_frequency = "10m"
## Sync après chaque commande (peut être rate-limited par le serveur)sync_frequency = "0"
## Désactiver la sync automatiqueauto_sync = falseFichiers et emplacements
Section intitulée « Fichiers et emplacements »~/.local/share/atuin/├── history.db # Base SQLite (votre historique)├── key # Clé de chiffrement (sync uniquement)└── session # Token de session (sync uniquement)
~/.config/atuin/└── config.toml # ConfigurationCommandes utiles
Section intitulée « Commandes utiles »# Vérifier l'installationatuin --version
# Diagnostic completatuin doctor
# Voir les dernières commandesatuin history list -r false | head -10
# Statistiques d'utilisationatuin stats
# Forcer une synchronisationatuin syncDépannage
Section intitulée « Dépannage »atuin ne s’ouvre pas avec ↑ :
# Vérifiez que le hook est présentgrep "atuin init" ~/.bashrc ~/.zshrc 2>/dev/nullSi rien ne s’affiche, ajoutez le hook manuellement (voir section Installation).
Les filtres directory/host ne fonctionnent pas :
C’est normal pour les commandes importées. Ces filtres ne fonctionnent que pour les commandes exécutées après l’installation d’atuin.
Vérifier que tout fonctionne :
atuin doctorCe qu’il faut retenir
Section intitulée « Ce qu’il faut retenir »- ↑ ouvre atuin
- Tapez des lettres pour filtrer (recherche fuzzy)
- Entrée exécute, Tab insère pour modifier
- Ctrl+R (plusieurs fois) change le filtre (global → host → directory)
- Les filtres contextuels (directory, host) ne fonctionnent que pour les commandes exécutées après l’installation
- La sync est optionnelle — atuin fonctionne très bien en local
D’autres outils
Section intitulée « D’autres outils »Ressources
Section intitulée « Ressources »- Documentation officielle — Configuration complète
- Configuration reference — Toutes les options
- GitHub atuin — Code source et issues