# Quick Start Five minutes from zero to a working Vim setup. ## Install These commands install the stable `main` branch. For beta testing this branch, use [BETA.md](BETA.md). ```bash curl -fsSL https://raw.githubusercontent.com/m1ngsama/chopsticks/main/get.sh | bash curl -fsSL https://raw.githubusercontent.com/m1ngsama/chopsticks/main/get.sh | bash -s -- --profile=minimal curl -fsSL https://raw.githubusercontent.com/m1ngsama/chopsticks/main/get.sh | bash -s -- --dry-run --profile=full ``` Open vim. First launch auto-installs plugins — **wait 30-60s, don't close vim**. Restart when done. Default profile is `engineer`. Interactive installs ask for a profile first; `--profile=minimal`, `--profile=engineer`, or `--profile=full` selects it without prompting. You can later put `let g:chopsticks_profile = 'minimal'` in `${XDG_CONFIG_HOME:-~/.config}/chopsticks.vim` for a smaller core-only setup, or use `full` for the heavier Markdown/LSP feedback. The default keymap style is `space`: `SPC` is the command leader and `,` is reserved for filetype-local actions. To use the legacy comma layout instead, add this to `${XDG_CONFIG_HOME:-~/.config}/chopsticks.vim`: ```vim let g:chopsticks_keymap_style = 'classic' ``` To switch later without reinstalling anything: ```bash cd ~/.vim && ./install.sh --configure-only --profile=full ``` ## Modes | Mode | Enter | Leave | | ------ | --------------- | ------------- | | Normal | startup default | — | | Insert | `i` / `a` / `o` | `Esc` | | Visual | `v` / `V` | `Esc` | ## Survival ``` Esc back to Normal SPC w save SPC qx save + quit :q! force quit SPC ? cheat sheet (toggle sidebar) SPC fc edit local preferences :ChopsticksHelp full native help ``` Classic layout equivalents: ``` Esc back to Normal ,w save ,x save + quit :q! force quit ,? cheat sheet (toggle sidebar) ,ec edit local preferences :ChopsticksHelp full native help ``` ## Find things ``` SPC SPC fuzzy find file (git-aware) SPC / ripgrep project SPC , search buffers SPC fr recent files SPC e file browser SPC Tab last file ``` ## Write code ``` gd go to definition K hover docs SPC cr rename symbol SPC ca code action SPC cf format SPC rr run current file Tab / S-Tab cycle completions ``` **First time in a new language?** Run `:LspInstallServer` — it auto-detects filetype and installs the right server. Do this once per language. ## Git ``` SPC gs status (s=stage, cc=commit) SPC gd diff SPC gb blame SPC gl log graph ]x / [x conflict markers ``` ## Edit In the default Space layout, Normal-mode `s` is a fast visible-text jump. Use `cl` when you want Vim's original single-character substitute behavior, and `cc` when you want Vim's original line substitute behavior. ``` s + 2 chars EasyMotion jump SPC S + 2 chars same jump, discoverable fallback cl / cc native s / S substitute replacements gc toggle comment cs"' change surrounding " to ' Alt+j / Alt+k move line SPC U undo tree SPC y clipboard yank ``` ## Navigate ``` h/j/k/l splits SPC bp / SPC bn prev / next buffer SPC z maximize window SPC tt / SPC th terminal ``` ## Markdown ``` ,mp preview in browser ,mt table of contents ``` Markdown is quiet by default: no real-time lint, no spell noise, no concealed syntax. Enable the heavier Markdown tools only when you want them. ## Health check ``` :ChopsticksHelp full native Vim help :ChopsticksConfig edit local preferences :ChopsticksReload reload after saving local preferences :ChopsticksTutor guided practice for the final keymap :ChopsticksStatus see what's installed and what's missing ``` The `SPC ?` cheat sheet follows your active profile, so `minimal` users only see keys for features that are actually loaded. Inside Vim, `:help chopsticks` opens the same reference after helptags are available. See [README](README.md) for the full reference. For beta testing and rollback, see [BETA.md](BETA.md).