A single-page reference for a terminal-centric development environment built around Zsh, Tmux, and Neovim.
Live site: https://richtxteditor.github.io/devtools
Shell and navigation (zoxide, eza, bat, fzf)
System and config management
Git workflow and aliases
Tmux multiplexer keybindings
Neovim editor shortcuts (files, LSP, diagnostics)
Testing, debugging, and task running
Runtime and language setup (Node, Python, Ruby, Lua, Shell, JSON/YAML, HTML/CSS/Tailwind, Django, SQL, C/C++, TypeScript)
DevDocs offline documentation and current-file doc lookup
Project-local environments and
.venvauto-loading
direnv does not activate a virtualenv just because a .venv directory exists. Add an .envrc file in the project root and approve it once:
printf '%s\n' 'source .venv/bin/activate' > .envrc
direnv allowFor Django or other framework projects, extend .envrc with any required environment variables, such as DJANGO_SETTINGS_MODULE.
Plain HTML, CSS, and JavaScript. No frameworks or build tools. Hosted on GitHub Pages.
This cheat sheet documents the setup from dotfiles.
The page is still a static GitHub Pages site, but keybind rows now have a metadata layer in data/keybinds.js.
Each entry is tagged with:
type: shortcut, command, alias, function, or setup-noteorigin: dotfiles-custom, plugin-default, app-default, or manual-noteplatform: all, macos, linux, or macos/linuxmode: normal, insert/select, command-line, typed-command, interactive-shell, tmux, etc.source: the dotfiles path/line range or upstream default/docs referenceconfidence: high/medium/low
Run the audit after changing dotfiles or before publishing the cheat sheet:
python3 scripts/audit-dotfiles-keybinds.py
python3 scripts/audit-dotfiles-keybinds.py --jsonThe audit compares obvious mappings, Ghostty keybinds, tmux binds, zsh aliases, and shell functions from /Users/what/Sites/dotfiles against the online cheat-sheet metadata. Review any “possible missing signals” and either add them to data/keybinds.js or intentionally leave them out if they are noisy/internal.