You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Terminal.app:install.sh installs and activates a "GitHub Dark" profile (MesloLGS Nerd Font Mono, matching background/ANSI palette, blinking bar cursor) as the default and startup profile — see terminal/GitHub Dark.terminal and bin/setup-terminal-theme. Quit and reopen Terminal.app afterward; a running instance caches its prefs and won't pick up the full palette/cursor until restarted.
Warp: not automated yet — pick a Nerd Font (MesloLGS, JetBrains Mono, or Fira Code — all installed by install.sh) and a dark theme manually in Warp's settings.
ls File list with icons
ll Long list with git status
la All files including hidden
lt Tree view (2 levels)
lt3 Tree view (3 levels)
lS Sort by size (largest first)
lm Sort by modified date
Git
gs git status
gss git status -s (short)
ga git add
gaa git add --all
gap git add -p (interactive)
gc git commit
gcm MSG git commit -m MSG
gca git commit --amend
gcan git commit --amend --no-edit
gd git diff
gds git diff --staged
gdw git diff --word-diff
gl git log (short, graph, 20 lines)
gla git log --all
glp git log (pretty, with author + date)
gp git push
gpf git push --force-with-lease
gpl git pull
gplr git pull --rebase
gb git branch
gba git branch -a (all)
gbd git branch -d (delete)
gco git checkout
gcb git checkout -b (new branch)
gsw git switch
gswc git switch -c (new branch)
gst git stash
gstp git stash pop
gstl git stash list
gf git fetch --all --prune
grb git rebase
grbi git rebase -i
grbc git rebase --continue
grba git rebase --abort
gcp git cherry-pick
gbl git blame
gwip Stage all + commit "WIP"
gunwip Undo last WIP commit
gtags List tags (newest first)
gclean Remove untracked files
lg lazygit
ld lazydocker
ghpr gh pr create
ghprv gh pr view --web
ghprs gh pr status
ghis gh issue list
leakscan Manually scan the working tree for secrets (gitleaks)
Git Hooks
Global (core.hooksPath = ~/.githooks), so they apply to every repo on this machine, not just this one. Every check can be skipped for a single command with --no-verify if it's a false positive.
ni npm install
nr npm run
nrd npm run dev
nrb npm run build
nrt npm run test
nrl npm run lint
pn pnpm
pni pnpm install
pnr pnpm run
pnd pnpm run dev
pnb pnpm run build
pnt pnpm run test
bi bun install
br bun run
bd bun run dev
bb bun run build
AWS
awsp Switch AWS profile interactively (fzf)
awsl aws-vault exec (this machine's workflow)
awsls aws-vault list
awssso aws sso login
awsprofiles aws configure list-profiles
awsw aws sts get-caller-identity (who am I?)
awsregion Show current AWS_DEFAULT_REGION
awsprofile Show current profile
awsec2 List EC2 instances (table view)
awss3 aws s3 ls
awslogs aws logs tail --follow <group>
Networking
myip Public IP address
localip Local/LAN IP address
ports Show listening ports
ping Ping (5 packets)
headers Fetch HTTP headers
flush Flush DNS cache (macOS)
Utilities
path Print $PATH one per line
reload Reload .zshrc
cls / c Clear terminal
h History
hg TERM Search history for TERM
j List background jobs
weather Current weather
week Current week number
timestamp Unix timestamp
uuid Generate a UUID
json Pretty-print JSON (pipe into it)
serve Start HTTP server on :8000
sha256 SHA-256 checksum
sizeof Size of file/directory
count Count files in current dir
ext File extension statistics
urlencode Encode a URL string
urldecode Decode a URL string
clip Copy to clipboard
paste Paste from clipboard
Process Management
psg TERM Search running processes
memhogs Top 10 memory consumers
cpuhogs Top 10 CPU consumers
rm Prompts before delete (rm -i)
cp Prompts before overwrite (cp -i)
mv Prompts before overwrite (mv -i)
FZF (Fuzzy Finder)
Shortcut
Action
Ctrl+T
Search files (insert path)
Alt+C
Search directories (cd into it)
**<Tab>
Fuzzy completion (e.g., vim **<Tab>)
<Tab>
fzf-tab fuzzy menu for any completion (cd, kill, git checkout, etc.)
Mise (Runtime Versions)
Command
Action
mu node@22 (mise use)
Pin Node 22 for the current project (writes mise.toml)
mi (mise install)
Install versions pinned in mise.toml/.tool-versions
mr <task> (mise run)
Run a task defined in mise.toml
mise ls
List installed runtime versions
mise doctor
Diagnose activation/shims issues
Zoxide (Smart cd)
Command
Action
z foo
Jump to most-used dir matching "foo"
z foo bar
Jump to dir matching "foo" and "bar"
zi
Interactive selection with fzf
z -
Go back to previous directory
Tmux (prefix = Ctrl-a)
Sessions
Key
Action
tmux
Start new session
tmux new -s name
Named session
tmux ls
List sessions
tmux a -t name
Attach to session
prefix + d
Detach
prefix + $
Rename session
prefix + f
Fuzzy-jump between ~/GitHub projects (creates/switches session via tmux-sessionizer; override the search paths with TMUX_SESSIONIZER_PATHS="~/GitHub ~/work")
ts (shell alias)
Same sessionizer, usable from outside tmux too — starts/attaches a session
Windows
Key
Action
prefix + c
New window
prefix + ,
Rename window
prefix + n/p
Next/prev window
prefix + 0-9
Switch to window #
prefix + &
Close window
Panes
Key
Action
prefix + |
Split vertical
prefix + -
Split horizontal
prefix + h/j/k/l
Navigate panes
prefix + H/J/K/L
Resize panes
prefix + z
Toggle pane zoom
prefix + x
Close pane
Copy Mode (vi keys)
Key
Action
prefix + [
Enter copy mode
v
Start selection
y
Copy selection
q
Exit copy mode
Plugins
Key
Action
prefix + I
Install plugins (TPM)
prefix + U
Update plugins
prefix + Ctrl-s
Save session (resurrect)
prefix + Ctrl-r
Restore session (resurrect)
Neovim (leader = Space)
Navigation
Key
Action
Ctrl+h/j/k/l
Move between splits
Shift+h / Shift+l
Prev/next buffer
<leader>bd
Delete buffer
<leader>e
Toggle file explorer
<leader>E
Reveal current file in explorer
Finding (Snacks.picker)
Key
Action
<leader>ff
Find files
<leader>fg
Live grep (search in files)
<leader>fb
Open buffers
<leader>fh
Help tags
<leader>fr
Recent files
<leader>fd
Diagnostics
<leader>fs
Git status
<leader>fc
Git commits
<leader>ft
Find TODOs
<leader>fw
Search word under cursor
<leader>fk
Keymaps
<leader>fp
Projects
<leader>/
Search in current buffer
LSP (when attached)
Key
Action
gd
Go to definition
gr
Find references
gi
Go to implementation
K
Hover documentation
<leader>ca
Code action
<leader>rn
Rename symbol
<leader>D
Type definition
<leader>ds
Document symbols
[d / ]d
Prev/next diagnostic
<leader>d
Show diagnostic float
Git (Gitsigns + Snacks)
Key
Action
]h / [h
Next/prev hunk
<leader>hs
Stage hunk
<leader>hr
Reset hunk
<leader>hS
Stage entire buffer
<leader>hu
Undo stage hunk
<leader>hp
Preview hunk
<leader>hb
Blame line
<leader>hd
Diff this
<leader>tb
Toggle inline blame
<leader>gg
Open lazygit (floating)
<leader>gB
Open current file/line in GitHub
Terminal & UI
Key
Action
<leader>tt
Toggle floating terminal
<leader>tz
Toggle zen mode
<leader>f
Format buffer (conform.nvim)
Editing
Key
Action
gcc
Toggle line comment
gc (visual)
Toggle block comment
ys{motion}{char}
Add surround (e.g., ysiw")
ds{char}
Delete surround
cs{old}{new}
Change surround
< / > (visual)
Indent (keeps selection)
Alt+j / Alt+k
Move line up/down
jk
Exit insert mode
Text Objects (Treesitter)
Key
Action
af / if
Around/inside function
ac / ic
Around/inside class
aa / ia
Around/inside argument
]f / [f
Next/prev function
]c / [c
Next/prev class
Other
Key
Action
<leader>w
Save file
<leader>q
Quit
<leader>Q
Force quit all
<leader>va
Select all
Ctrl+d/u
Scroll down/up (centered)
Esc
Clear search highlight
Tool Quick Reference
jq (JSON)
cat data.json | jq '.'# Pretty-print
cat data.json | jq '.key'# Extract key
cat data.json | jq '.items[0]'# First array element
cat data.json | jq '.items | length'# Array length
cat data.json | jq '.[] | .name'# Map over array
curl -s api | jq -r '.data.url'# Raw output (no quotes)
http GET example.com/api # GET request
http POST example.com/api key=value # POST JSON
http -f POST example.com form=data # POST form
http -d example.com/file.zip # Download
http --headers example.com # Headers only