Workflow quotidien¶
Les outils CLI modernes et les habitudes qui rendent le terminal productif au quotidien.
Aliases¶
Les aliases raccourcissent les commandes fréquentes. Oh My Zsh fournit déjà des aliases Git via le plugin git :
# Aliases Git fournis par OMZ (extrait)
gst # git status
gco # git checkout
gp # git push
gl # git pull
gcmsg # git commit -m
gd # git diff
Ajouter vos propres aliases dans ~/.zshrc :
# Navigation
alias ..="cd .."
alias ...="cd ../.."
alias ll="eza -la --git --icons"
alias lt="eza --tree --level=2 --icons"
# Developpement
alias dc="docker compose"
alias tf="tofu"
alias k="kubectl"
alias mk="minikube"
# Securite
alias rm="rm -i" # Confirmation avant suppression
alias cp="cp -i" # Confirmation avant ecrasement
alias mv="mv -i" # Confirmation avant ecrasement
Outils CLI modernes¶
Remplacements drop-in plus rapides et plus lisibles :
| Ancien | Moderne | Installation | Avantage |
|---|---|---|---|
cat | bat | brew install bat | Coloration syntaxique, numeros de ligne |
ls | eza | brew install eza | Icones, couleurs, integration Git |
grep | ripgrep (rg) | brew install ripgrep | 10-100x plus rapide, respect .gitignore |
find | fd | brew install fd | Syntaxe simple, rapide, respect .gitignore |
du | dust | brew install dust | Visualisation arborescente de l'espace disque |
top | btop | brew install btop | Interface graphique moderne |
diff | delta | brew install git-delta | Diff coloree avec coloration syntaxique |
bat en action¶
# Afficher un fichier avec coloration
bat src/main.py
# Concatener avec coloration (remplace cat dans les pipes)
bat --plain src/*.py | head -50
ripgrep en action¶
# Chercher "TODO" dans le projet (ignore node_modules, .git)
rg TODO
# Chercher dans un type de fichier specifique
rg "import.*React" --type tsx
# Chercher avec contexte (3 lignes avant/apres)
rg "function main" -C 3
fzf — la recherche floue¶
fzf transforme toute liste en recherche interactive :
Keybindings fzf¶
| Raccourci | Action |
|---|---|
| Ctrl+R | Recherche floue dans l'historique |
| Ctrl+T | Recherche floue de fichiers |
| Alt+C | cd dans un dossier (recherche floue) |
Integration avec d'autres outils¶
# Ouvrir un fichier dans VS Code (recherche floue)
code $(fzf)
# Checkout une branche Git (recherche floue)
git checkout $(git branch | fzf)
# Killer un processus (recherche floue)
kill -9 $(ps aux | fzf | awk '{print $2}')
Navigation rapide avec zoxide¶
zoxide apprend les répertoires que vous visitez et permet d'y naviguer avec des mots-cles :
# Naviguer vers un repertoire visite precedemment
z projet # cd vers ~/GIT/mon-projet (ou le match le plus probable)
z doc # cd vers ~/Documents
# Recherche interactive
zi # fzf sur les repertoires connus
Fonctions shell utiles¶
# Creer un dossier et y aller
mkcd() { mkdir -p "$1" && cd "$1" }
# Extraire n'importe quelle archive
extract() {
case "$1" in
*.tar.gz|*.tgz) tar xzf "$1" ;;
*.tar.bz2) tar xjf "$1" ;;
*.tar.xz) tar xJf "$1" ;;
*.zip) unzip "$1" ;;
*.gz) gunzip "$1" ;;
*.7z) 7z x "$1" ;;
*) echo "Format non supporte: $1" ;;
esac
}
# Git : afficher le log compact avec graph
glog() { git log --oneline --graph --decorate -20 "$@" }