A complete dotfiles repository for setting up a modern terminal-based development environment with Vim, Tmux, and Git diff integration. One-script install for Ubuntu/Debian.
- π¨ Beautiful 3-pane layout: Vim editor (left) + Claude Code (top-right) + Terminal (bottom-right)
- π Real-time Git diff in Vim (additions, modifications, deletions in the gutter)
- π₯ Vim-Fugitive integration:
:Git,:Gdiff,:Gblamedirectly in Vim - π One-command project launcher:
projopens the layout for any directory - π FZF project switcher:
projsto fuzzy-find and switch projects - β‘ Optimized Vim config with 12+ essential plugins
- π― Sensible tmux defaults (Ctrl+a prefix, Vim-style navigation)
- π¦ One-script installation
Vim editor (left) with NERDTree, Claude Code (top-right), Terminal with Git status (bottom-right)
GitGutter shows additions (green +), modifications (yellow ~), and deletions (red _) directly in the gutter
Press projs to fuzzy-find any project in ~/projects or switch to an active tmux session
- Linux (tested on Ubuntu 24.04+ and 26.04)
- bash shell
- Internet connection (for installing packages and plugins)
- Optional: Claude Code for AI pair programming
# Clone the repo
git clone https://github.com/YOUR_USERNAME/dev-workflow.git
cd dev-workflow
# Run installer
./install.shThe installer will:
- Backup your existing configs to
~/.dev-workflow-backup-{timestamp}/ - Install required system packages (tmux, vim, fzf, ripgrep, xclip)
- Place config files in your home directory
- Install Vim plugins (vim-plug + 12 plugins)
- Set up
projandprojscommands
After installation, restart your terminal or run:
source ~/.bashrccd ~/projects/your-project
proj # or: pThis opens a tmux session with:
- Left (70%): Vim with file explorer
- Top-right (15%): Claude Code (if installed)
- Bottom-right (15%): Terminal with
git status
projs # or: psOpens an FZF picker showing:
[ACTIVE]β currently running tmux sessions[NEW]β projects in~/projects/available to launch
| Alias | Command |
|---|---|
p |
proj |
ps |
projs |
tls |
tmux ls |
ta |
tmux attach -t |
tk |
tmux kill-session -t |
gs |
git status |
gd |
git diff |
gl |
git log --oneline --graph |
| Keys | Action |
|---|---|
Ctrl+a | |
Split vertical |
Ctrl+a - |
Split horizontal |
Ctrl+a h/j/k/l |
Navigate panes (Vim-style) |
Ctrl+a H/J/K/L |
Resize panes |
Ctrl+a z |
Toggle pane zoom |
Ctrl+a d |
Detach session |
Ctrl+a r |
Reload config |
| Keys | Action |
|---|---|
]c / [c |
Next/prev git hunk |
<Space>gn / <Space>gp |
Next/prev hunk |
<Space>gh |
Preview hunk diff |
<Space>gs |
Stage hunk |
<Space>gu |
Undo hunk |
<Space>gd |
Open Git diff split |
<Space>gb |
Git blame |
<Space>gg |
Open Git status |
| Keys | Action |
|---|---|
<Space>e |
Toggle file explorer (NERDTree) |
<Space>f |
Find current file in explorer |
<Space>p |
Fuzzy find files (FZF) |
<Space>b |
List buffers |
<Space>r |
Search in files (ripgrep) |
See docs/customization.md for:
- Changing pane sizes
- Adding new plugins
- Modifying color schemes
- Adding custom aliases
See docs/troubleshooting.md for common issues.
./uninstall.shBacks up configs to ~/.dev-workflow-uninstall-backup-{timestamp}/.
MIT β feel free to fork and customize.
Built with these excellent tools: