ZSH Cheatsheet
Keybindings #
| Key |
Action |
Ctrl+T |
fzf file completion |
Ctrl+R |
fzf history search |
Alt+C |
fzf directory completion |
Ctrl+A |
Beginning of line |
Ctrl+E |
End of line |
Ctrl+U |
Delete to beginning |
Ctrl+K |
Delete to end |
Ctrl+W |
Delete word backward |
Alt+D |
Delete word forward |
Ctrl+L |
Clear screen |
Ctrl+D |
Exit shell |
Ctrl+Z |
Background/foreground |
History Expansion #
| Pattern |
Action |
!! |
Last command |
!$ |
Last argument |
!^ |
First argument |
!:1-3 |
Arguments 1-3 |
^foo^bar |
Replace foo with bar in last command |
Directory Navigation #
| Command |
Action |
cd - |
Previous directory |
cd ~ |
Home directory |
pushd dir |
Add to stack |
popd |
Remove from stack |
dirs |
Show stack |
... |
Go up 2 directories |
.... |
Go up 3 directories |
Aliases #
| Alias |
Command |
l |
ls -la |
la |
ls -A |
ll |
ls -alF |
g |
git |
gs |
git status |
ga |
git add |
gc |
git commit |
gp |
git push |
k |
kubectl |
dc |
docker-compose |
FZF Integration #
# Search history
Ctrl+R
# Find files to open
nvim **/* | fzf
# Change directory
cd **/* | fzf
# Kill processes
kill -9 $(ps aux | fzf | awk '{print $2}')
Completion #
| Key |
Action |
Tab |
Complete |
Tab again |
Menu of options |
Ctrl+I |
Alternative complete |
Esc+/ |
Complete from history |
Global Aliases (pipe anywhere) #
| Alias |
Meaning |
H |
` |
T |
` |
G |
` |
L |
` |
S |
` |
U |
` |
Directory Stack #
# Add directories
pushd ~/git/project
pushd ~/work/another
# Navigate stack
pushd +1 # Rotate forward
pushd -1 # Rotate backward
# Show stack
dirs -v
# Remove from stack
popd
Quick Workflows #
Edit file: nvim **/*.py | fzf → select
Search history: Ctrl+R → type → Enter
Directory navigation: Alt+C → fuzzy find
Chain commands: ps aux | G process | L → pipe through grep and less