Keep your terminal configuration in one place.
- tmux ≥ 2.1
- git
- zsh (macOS default), bash, or fish
curl -fsSL https://raw.githubusercontent.com/abienkowski/conf.d/master/setup.sh | bashThen inside tmux press prefix + I (capital I) to install tmux plugins.
git clone git@github.com:abienkowski/conf.d.git ~/conf.d
~/conf.d/setup.sh- Downloads the config files directly from GitHub (no clone needed when using the one-liner)
- Backs up any existing
~/.tmux.conf,~/.vimrc,~/.aliasesby renaming them in-place (e.g..tmux.conf→.tmux.conf-YYYY-MM-DD). If a backup already exists for today, it's preserved and not overwritten. - Copies the repo's config files into
$HOME - Clones TPM to
~/.tmux/plugins/tpm - Adds
source ~/.aliasesto your shell's rc file (~/.zshrc,~/.bashrc, etc.) - Prints post-install steps
The script is idempotent — running it again is safe.
| Binding | Action |
|---|---|
C-a |
Prefix (instead of default C-b) |
C-a C-a |
Send prefix to nested tmux session |
C-b |
Jump to last window |
prefix r |
Reload ~/.tmux.conf |
prefix ` |
` |
prefix - |
Split pane vertically |
prefix T |
Swap current window to position 1 |
prefix C-a |
Cycle to next pane |
prefix h/j/k/l |
Select pane left/down/up/right (vim-style) |
prefix I |
Install TPM plugins |
prefix U |
Update TPM plugins |
prefix M-u |
Clean uninstalled TPM plugins |
Other settings:
- Mouse mode on, scrollback 10k lines, vi-style copy-mode
- Window numbering starts at 1
- Active window highlighted with cyan background
| Alias | Expands To |
|---|---|
ll |
ls -laF |
k |
kubectl (resolved at install time) |
kns |
kubens (resolved at install time) |
Edit the files in ~/conf.d/ then re-run the setup script to apply changes. If you want shell-specific aliases that aren't shared across machines, add them directly to your ~/.zshrc (or equivalent) instead of editing ~/conf.d/aliases.
# Remove installed files
rm ~/.tmux.conf
rm ~/.vimrc
rm ~/.aliases
# Remove TPM
rm -rf ~/.tmux/plugins/tpm
# Remove source line from shell rc
sed -i '' '/^source.*\/\.aliases/d' ~/.zshrcIf you used the one-liner, re-run it:
curl -fsSL https://raw.githubusercontent.com/abienkowski/conf.d/master/setup.sh | bashIf you cloned the repo, pull and re-run:
cd ~/conf.d && git pull && ./setup.shThe script is idempotent — it will skip files that haven't changed. After a tmux config update, reload with prefix r.