A reference document for my terminal environment, shell workflow, aliases, plugins, key bindings, and custom utilities.
- Overview
- Shell Functions
- Key Bindings
- Plugins
- Command Line Tools
- Aliases
- Tmux
- Starship Prompt
- Command Highlighting
- Autosuggestions
- NVM
- History Configuration
- Common Commands
- Terminal Philosophy
This terminal environment is built around:
- Ghostty
- tmux
- Zsh
- Oh My Zsh
- Starship
- eza
- bat
- fzf
- zoxide
- lazygit
- btop
- NVM (lazy-loaded)
Fuzzy-search for a directory and change into it.
cdfType part of a directory name, select it with fzf, and press Enter.
Create a directory and immediately enter it.
mkcd my-projectEquivalent to:
mkdir -p my-project && cd my-projectChange into a directory and immediately list its contents.
cs [directory] [flags]Any flags starting with - are passed directly to ls.
cs my-project # cd into my-project and list contents
cs .. # cd up and list contents
cs ~/dev -la # cd into ~/dev and list with -la flags
cs -la # list current directory with -la flagsFuzzy-search command history using fzf.
- Press
Ctrl + R - Start typing
- Select a previous command
- Press Enter
Provided by the Oh My Zsh sudo plugin.
Re-runs the previous command with sudo.
Example:
apt install dockerPress:
Esc Esc
Becomes:
sudo apt install dockerplugins=(
git
z
extract
sudo
web-search
fzf
)Provides Git aliases and shortcuts.
Examples:
gst
gco
gl
gpJump to frequently used directories.
Example:
z projectsExtract many archive formats with a single command.
Example:
extract archive.zip
extract archive.tar.gzQuickly prepend commands with sudo.
Supports:
Esc Esc
Search the web directly from the terminal.
Examples:
google nextjs middleware
duckduckgo golang concurrencyProvides fuzzy searching and history integration.
Examples:
Ctrl + R
cdfModern replacement for ls.
ls
ll
la
tree- Icons
- Git integration support
- Better formatting
- Improved readability
Modern replacement for cat.
cat- Syntax highlighting
- Git integration
- Line numbers
Smarter directory navigation.
z backend
z nextjs
z automationJumps to frequently used directories.
Terminal Git UI.
lgModern system monitor.
topDisplays:
- CPU usage
- Memory usage
- Disk activity
- Network activity
- Processes
| Alias | Command |
|---|---|
gs |
git status |
ga |
git add . |
gc |
git commit -m |
gco |
git checkout |
gpl |
git pull |
| Alias | Command |
|---|---|
.. |
cd .. |
... |
cd ../.. |
.... |
cd ../../.. |
~ |
cd ~ |
| Alias | Command |
|---|---|
ta |
tmux attach -t |
tls |
tmux ls |
td |
tmux detach |
tk |
tmux kill-session |
tn |
tmux new -s |
| Alias | Command |
|---|---|
cat |
bat |
top |
btop |
grep |
rg |
lg |
lazygit |
The terminal automatically launches tmux when opening a local shell including SSH sessions.
Create a session:
tn backendAttach to a session:
ta backendList sessions:
tlsThe shell prompt is powered by Starship.
Displays:
- Current directory
- Git branch
- Git status
- Node.js version
- Command success/failure state
Powered by:
zsh-syntax-highlighting
Behavior:
- Valid commands use the default terminal color
- Invalid commands are highlighted in muted red
- Paths are highlighted in blue
- Quoted strings use default text coloring
Powered by:
zsh-autosuggestions
Behavior:
- Shows suggestions based on command history
- Suggestions appear in muted gray
- Accept suggestions with the right arrow key
Node Version Manager is configured with lazy loading.
NVM is only loaded when one of the following commands is first used:
node
npm
npx
nvmThis improves shell startup time.
History is shared across terminal sessions.
Enabled features:
- Shared history
- Duplicate removal
- Duplicate expiration
- Ignore commands beginning with a space
History limits:
HISTSIZE = 10000
SAVEHIST = 10000
| Command | Description |
|---|---|
pwd |
Print current directory |
cd |
Change directory |
touch file |
Create file |
mkdir dir |
Create directory |
rm file |
Remove file |
cp src dest |
Copy file |
mv src dest |
Move file |
cat file |
View file with bat |
top |
Open btop |
lg |
Open lazygit |
ll |
Detailed file listing |
tree |
Tree view of directories |
This environment prioritizes:
- Fast startup
- Keyboard-first workflow
- Minimal visual clutter
- Modern CLI tooling
- Consistent aesthetics
- Efficient project navigation
- tmux-centered development

