Terminal-centric development environment — Zsh + Tmux + Neovim
by richtxteditor
After installing plugins, run these commands in Neovim to download offline docs:
:DevdocsFetch :DevdocsInstall python javascript go rust c
| Key | Action |
|---|---|
| Cmd + N | New window. |
| Cmd + T | New tab. |
| Cmd + W | Close terminal/split. |
| Cmd + Alt + W | Close tab. |
| Cmd + Shift + W | Close window. |
| Cmd + 1-8 | Jump to tab by number. |
| Cmd + 9 | Jump to last tab. |
| Cmd + Shift + [ / ] | Previous / next tab. |
| Ctrl + Tab | Next tab. |
| Ctrl + Shift + Tab | Previous tab. |
| Cmd + Enter | Toggle fullscreen. |
| Key | Action |
|---|---|
| Cmd + D | Split right (vertical). |
| Cmd + Shift + D | Split down (horizontal). |
| Cmd + [ / ] | Previous / next split. |
| Cmd + Alt + Arrows | Navigate splits directionally. |
| Cmd + Ctrl + Arrows | Resize splits. |
| Cmd + Ctrl + = | Equalize all splits. |
| Cmd + Shift + Enter | Toggle split zoom. |
| Key | Action |
|---|---|
| Cmd + F | Start search. |
| Cmd + G | Next search result. |
| Cmd + Shift + G | Previous search result. |
| Cmd + Shift + F | End search. |
| Cmd + Shift + Up | Jump to previous prompt. |
| Cmd + Shift + Down | Jump to next prompt. |
| Cmd + Home | Scroll to top. |
| Cmd + End | Scroll to bottom. |
| Key | Action |
|---|---|
| Cmd + C | Copy selection. |
| Cmd + V | Paste from clipboard. |
| Cmd + A | Select all. |
| Cmd + K | Clear screen and scrollback. |
| Cmd + + / - | Increase / decrease font size. |
| Cmd + 0 | Reset font size. |
| Key | Action |
|---|---|
| Cmd + Shift + P | Command palette. |
| Cmd + , | Open config. |
| Cmd + Shift + , | Reload config. |
| Cmd + Alt + I | Toggle inspector. |
| Cmd + Z | Undo. |
| Cmd + Shift + Z | Redo. |
| Key | Action |
|---|---|
| Cmd + Left | Jump to beginning of line (Ctrl+A). |
| Cmd + Right | Jump to end of line (Ctrl+E). |
| Cmd + Backspace | Delete to beginning of line (Ctrl+U). |
| Alt + Left / Right | Jump word backward / forward. |
| Key | Action |
|---|---|
| Space e | Toggle File Explorer (NvimTree). |
| Space ff | Find Files (Telescope). |
| Space fg | Live Grep (Search text in project). |
| Space fo | Find Recent/Old Files. |
| Space fb | Find Buffers. |
| Space fh | Find Help Tags. |
| Space fd | Find Diagnostics. |
| Space ft | Find TODOs. |
| Space gg | Open Lazygit. |
| Space mp | Toggle Markdown Preview. |
| C-\ | Toggle floating terminal (ToggleTerm). |
| Space u | Toggle Undo Tree. |
| Space o | Toggle Symbol Outline (Aerial). |
| Key | Action |
|---|---|
| gd | Go to Definition. |
| gr | Find References. |
| K | Hover Documentation (LSP or per-language fallback). |
| Space K | Search DevDocs (offline docs for 300+ languages). |
| Space cf | Format Code. |
| Space rn | Rename Symbol (live preview). |
| Space ca | Code Action. |
| Space ci | Incoming Calls (call hierarchy). |
| Space co | Outgoing Calls (call hierarchy). |
| Space dd | Show Error/Warning (Float). |
| [d / ]d | Previous / Next Diagnostic. |
| [q / ]q | Previous / Next Quickfix Item. |
| Space xx | Toggle Diagnostics (Trouble). |
| Tool | Usage |
|---|---|
| Node.js | Managed by nvm. Run nvm install 20. |
| Python | Managed by pyenv. Run pyenv install 3.12. |
| Ruby | Managed by rbenv. Run rbenv install 3.3.0. |
| Go | Installed via Homebrew. LSP: gopls. Formatters: goimports, gofumpt. |
| Rust | Installed via Homebrew. LSP: rust-analyzer. DAP: codelldb. |
| Java | openjdk installed. Neovim uses jdtls & google-java-format. |
| C/C++ | clang / llvm installed. Neovim uses clangd & clang-format. DAP: codelldb. |
| TypeScript | Uses ts_ls, prettier, eslint. Ensure tsconfig.json exists. |
| PHP | Uses intelephense & php-cs-fixer. |
| Command | Tool | Description |
|---|---|---|
| z <dir> | zoxide | Smart cd. Jumps to directories based on frequency (e.g., z dot → ~/Sites/dotfiles). |
| ls / ll | eza | Lists files with icons, git status, and headers. |
| tree | eza | Shows a directory tree (2 levels deep). |
| cat <file> | bat | Displays file contents with syntax highlighting and line numbers. |
| Ctrl + r | fzf | Fuzzy search your command history. |
| Ctrl + t | fzf | Fuzzy find a file and paste its path into the command line. |
| Ctrl + Space | autosuggest | Accept the grey “ghost text” suggestion. |
| Command | Description |
|---|---|
| update | Runs all updates: macOS, Homebrew, and Oh My Zsh. |
| bbu | Brew Bundle Update. Dumps current brew packages to the repo’s Brewfile. |
| zshconfig | Opens .zshrc in Neovim. |
| reload | Reloads .zshrc without restarting the terminal. |
| mkcd <dir> | Creates a directory and immediately cds into it. |
| Key | Action |
|---|---|
| Space nt | Run Nearest Test. |
| Space nf | Run All Tests in File. |
| Space ns | Toggle Test Summary. |
| Space no | Show Test Output. |
| Key | Action |
|---|---|
| F5 | Start / Continue. |
| F6 | Stop / Terminate. |
| F9 | Toggle Breakpoint. |
| F10 | Step Over. |
| F11 | Step Into. |
| F8 | Step Out. |
| Space du | Toggle Debug UI. |
| Key | Action |
|---|---|
| Space tr | Run Task (Auto-detected: make, npm, cargo, go, etc.). |
| Space to | Toggle Task Output. |
| Space tc | Run Custom Command. |
| Key | Action |
|---|---|
| Space gg | Open LazyGit. |
| Space gd | Git Diff View (Diffview). |
| Space gh | Git File History (Diffview). |
| Key | Action |
|---|---|
| s | Flash Jump. Jump to any character on screen. |
| S | Flash Treesitter. Select logical blocks of code. |
| Key | Action |
|---|---|
| ta | Smart Alias: Attaches to the last session or creates a new one. |
| Ctrl + h/j/k/l | Seamless Navigation: Move between Tmux panes and Neovim splits. |
| Prefix + | | Split vertically. |
| Prefix + - | Split horizontally. |
| Prefix + c | New window. |
| Prefix + z / m | Toggle fullscreen (zoom) for current pane. |
| Prefix + Space | Jump to last active window. |
| Prefix + I | Install Plugins (Press this if plugins look missing). |
| Prefix + [ | Enter copy mode (Use v to select, y to copy). |
| Prefix + d | Detach from session (leave it running in background). |