DevTools Cheat Sheet

Terminal-centric development environment — Zsh + Tmux + Neovim
by richtxteditor

No matching commands found.

DevDocs Setup (First Time)

After installing plugins, run these commands in Neovim to download offline docs:

:DevdocsFetch
:DevdocsInstall python javascript go rust c

Ghostty (Terminal)

Window & Tabs

KeyAction
Cmd + NNew window.
Cmd + TNew tab.
Cmd + WClose terminal/split.
Cmd + Alt + WClose tab.
Cmd + Shift + WClose window.
Cmd + 1-8Jump to tab by number.
Cmd + 9Jump to last tab.
Cmd + Shift + [ / ]Previous / next tab.
Ctrl + TabNext tab.
Ctrl + Shift + TabPrevious tab.
Cmd + EnterToggle fullscreen.

Splits

KeyAction
Cmd + DSplit right (vertical).
Cmd + Shift + DSplit down (horizontal).
Cmd + [ / ]Previous / next split.
Cmd + Alt + ArrowsNavigate splits directionally.
Cmd + Ctrl + ArrowsResize splits.
Cmd + Ctrl + =Equalize all splits.
Cmd + Shift + EnterToggle split zoom.

Navigation & Search

KeyAction
Cmd + FStart search.
Cmd + GNext search result.
Cmd + Shift + GPrevious search result.
Cmd + Shift + FEnd search.
Cmd + Shift + UpJump to previous prompt.
Cmd + Shift + DownJump to next prompt.
Cmd + HomeScroll to top.
Cmd + EndScroll to bottom.

Clipboard & Text

KeyAction
Cmd + CCopy selection.
Cmd + VPaste from clipboard.
Cmd + ASelect all.
Cmd + KClear screen and scrollback.
Cmd + + / -Increase / decrease font size.
Cmd + 0Reset font size.

Utilities

KeyAction
Cmd + Shift + PCommand palette.
Cmd + ,Open config.
Cmd + Shift + ,Reload config.
Cmd + Alt + IToggle inspector.
Cmd + ZUndo.
Cmd + Shift + ZRedo.

Line Editing (Terminal)

Note: These work at the shell prompt via Ghostty key mappings.
KeyAction
Cmd + LeftJump to beginning of line (Ctrl+A).
Cmd + RightJump to end of line (Ctrl+E).
Cmd + BackspaceDelete to beginning of line (Ctrl+U).
Alt + Left / RightJump word backward / forward.

Git Workflow

CommandDescription
lgLazygit. Opens a powerful terminal UI for Git.
gsgit status -sb (Short status).
gaagit add . (Add all).
gc "msg"git commit -m "msg".
gpgit push.
gpfgit push --force-with-lease (Safer force push).
gplgit pull --rebase --autostash.

Neovim (Editor)

Leader Key: Space

General & Files

KeyAction
Space eToggle File Explorer (NvimTree).
Space ffFind Files (Telescope).
Space fgLive Grep (Search text in project).
Space foFind Recent/Old Files.
Space fbFind Buffers.
Space fhFind Help Tags.
Space fdFind Diagnostics.
Space ftFind TODOs.
Space ggOpen Lazygit.
Space mpToggle Markdown Preview.
C-\Toggle floating terminal (ToggleTerm).
Space uToggle Undo Tree.
Space oToggle Symbol Outline (Aerial).

Code & LSP

KeyAction
gdGo to Definition.
grFind References.
KHover Documentation (LSP or per-language fallback).
Space KSearch DevDocs (offline docs for 300+ languages).
Space cfFormat Code.
Space rnRename Symbol (live preview).
Space caCode Action.
Space ciIncoming Calls (call hierarchy).
Space coOutgoing Calls (call hierarchy).
Space ddShow Error/Warning (Float).
[d / ]dPrevious / Next Diagnostic.
[q / ]qPrevious / Next Quickfix Item.
Space xxToggle Diagnostics (Trouble).

Runtimes & Languages

ToolUsage
Node.jsManaged by nvm. Run nvm install 20.
PythonManaged by pyenv. Run pyenv install 3.12.
RubyManaged by rbenv. Run rbenv install 3.3.0.
GoInstalled via Homebrew. LSP: gopls. Formatters: goimports, gofumpt.
RustInstalled via Homebrew. LSP: rust-analyzer. DAP: codelldb.
Javaopenjdk installed. Neovim uses jdtls & google-java-format.
C/C++clang / llvm installed. Neovim uses clangd & clang-format. DAP: codelldb.
TypeScriptUses ts_ls, prettier, eslint. Ensure tsconfig.json exists.
PHPUses intelephense & php-cs-fixer.

Shell & Navigation (Zsh)

CommandToolDescription
z <dir>zoxideSmart cd. Jumps to directories based on frequency (e.g., z dot~/Sites/dotfiles).
ls / llezaLists files with icons, git status, and headers.
treeezaShows a directory tree (2 levels deep).
cat <file>batDisplays file contents with syntax highlighting and line numbers.
Ctrl + rfzfFuzzy search your command history.
Ctrl + tfzfFuzzy find a file and paste its path into the command line.
Ctrl + SpaceautosuggestAccept the grey “ghost text” suggestion.

System & Config Management

CommandDescription
updateRuns all updates: macOS, Homebrew, and Oh My Zsh.
bbuBrew Bundle Update. Dumps current brew packages to the repo’s Brewfile.
zshconfigOpens .zshrc in Neovim.
reloadReloads .zshrc without restarting the terminal.
mkcd <dir>Creates a directory and immediately cds into it.

Testing, Debugging & Tasks

Testing (Neotest)

KeyAction
Space ntRun Nearest Test.
Space nfRun All Tests in File.
Space nsToggle Test Summary.
Space noShow Test Output.

Debugging (DAP)

KeyAction
F5Start / Continue.
F6Stop / Terminate.
F9Toggle Breakpoint.
F10Step Over.
F11Step Into.
F8Step Out.
Space duToggle Debug UI.

Tasks & Running (Overseer)

KeyAction
Space trRun Task (Auto-detected: make, npm, cargo, go, etc.).
Space toToggle Task Output.
Space tcRun Custom Command.

Git (in Neovim)

KeyAction
Space ggOpen LazyGit.
Space gdGit Diff View (Diffview).
Space ghGit File History (Diffview).

Navigation (Flash)

KeyAction
sFlash Jump. Jump to any character on screen.
SFlash Treesitter. Select logical blocks of code.

Tmux (Multiplexer)

Prefix: Ctrl + a (Replaces standard Ctrl + b)
KeyAction
taSmart Alias: Attaches to the last session or creates a new one.
Ctrl + h/j/k/lSeamless Navigation: Move between Tmux panes and Neovim splits.
Prefix + |Split vertically.
Prefix + -Split horizontally.
Prefix + cNew window.
Prefix + z / mToggle fullscreen (zoom) for current pane.
Prefix + SpaceJump to last active window.
Prefix + IInstall Plugins (Press this if plugins look missing).
Prefix + [Enter copy mode (Use v to select, y to copy).
Prefix + dDetach from session (leave it running in background).