docs: full README update — accurate keybindings, :ChopsticksStatus, lazy count fix
Some checks are pending
test / startup (macos-latest) (push) Waiting to run
test / startup (ubuntu-latest) (push) Waiting to run
test / shellcheck (push) Waiting to run

- Add :ChopsticksStatus to features table, LSP section, troubleshooting
- Add ,? cheat sheet, ,mp preview, toggle keys to keybinding reference
- Add missing bindings: [<Space>], ,E, ,gl, ,bd, ,cp, ,cf, ,wa, ,F, ,W
- Fix lazy-loaded count: 7 (not 6)
- Update architecture descriptions to match current modules
- Add health check section to QUICKSTART
- Add :ChopsticksStatus to cheat sheet sidebar
This commit is contained in:
m1ngsama 2026-04-22 15:25:40 +08:00
parent 0686f9c6be
commit 565f2fc80b
3 changed files with 33 additions and 14 deletions

View file

@ -91,4 +91,10 @@ Ctrl+h/j/k/l splits + tmux panes
,mt table of contents ,mt table of contents
``` ```
## Health check
```
:ChopsticksStatus see what's installed and what's missing
```
See [README](README.md) for the full reference. See the [wiki](https://github.com/m1ngsama/chopsticks/wiki) for deep dives. See [README](README.md) for the full reference. See the [wiki](https://github.com/m1ngsama/chopsticks/wiki) for deep dives.

View file

@ -41,6 +41,8 @@ chopsticks gives you a production-ready Vim config in one command. Pure VimScrip
| **Fuzzy find** | files, buffers, grep, tags, marks, commands — [FZF](https://github.com/junegunn/fzf.vim) | | **Fuzzy find** | files, buffers, grep, tags, marks, commands — [FZF](https://github.com/junegunn/fzf.vim) |
| **Git** | status, diff, blame, push, pull, conflict markers — [fugitive](https://github.com/tpope/vim-fugitive) + [gitgutter](https://github.com/airblade/vim-gitgutter) | | **Git** | status, diff, blame, push, pull, conflict markers — [fugitive](https://github.com/tpope/vim-fugitive) + [gitgutter](https://github.com/airblade/vim-gitgutter) |
| **Run file** | `,cr` — auto-detects Python, Go, Rust, JS, C, Shell, and more | | **Run file** | `,cr` — auto-detects Python, Go, Rust, JS, C, Shell, and more |
| **Markdown** | live preview in browser (`,mp`), table of contents (`,mt`) |
| **Diagnostics** | `:ChopsticksStatus` — see what's installed, what's missing, how to fix it |
| **TTY-aware** | degrades gracefully on SSH, console, slow links — never breaks | | **TTY-aware** | degrades gracefully on SSH, console, slow links — never breaks |
## Install ## Install
@ -70,7 +72,7 @@ Ctrl+p fuzzy find file gd go to definition
,e toggle file sidebar ,cr run current file ,e toggle file sidebar ,cr run current file
,gs git status ,f format ,gs git status ,f format
,w save ,q quit ,w save ,q quit
jk exit insert mode ,bd close buffer jk exit insert mode ,? cheat sheet
``` ```
<details> <details>
@ -78,27 +80,35 @@ jk exit insert mode ,bd close buffer
### Files ### Files
`Ctrl+p` find | `,b` buffers | `,rg` grep | `,rG` grep word | `,fh` recent | `,e` browser | `,,` last file `Ctrl+p` find | `,b` buffers | `,rg` grep | `,rG` grep word | `,fh` recent | `,fl` lines | `,e` browser | `,E` browser (file dir) | `,,` last file
### Code ### Code
`gd` def | `gy` type | `gi` impl | `gr` refs | `K` docs | `[g` `]g` diagnostics | `,rn` rename | `,ca` action | `,o` outline | `,cr` run `gd` def | `gy` type | `gi` impl | `gr` refs | `K` docs | `[g` `]g` diagnostics | `[e` `]e` ALE errors | `,rn` rename | `,ca` action | `,o` outline | `,cr` run
### Edit ### Edit
`s`+2ch jump | `gc` comment | `cs"'` surround | `Alt+j/k` move line | `,u` undo tree | `,y` clipboard | `,*` replace word `s`+2ch jump | `gc` comment | `cs"'` surround | `Alt+j/k` move line | `,u` undo tree | `,y` clipboard | `,*` replace word | `,F` re-indent | `,W` strip whitespace | `[<Space>` `]<Space>` blank lines
### Git ### Git
`,gs` status | `,gd` diff | `,gb` blame | `,gc` commit | `,gp` push | `]x` `[x` conflict `,gs` status | `,gd` diff | `,gb` blame | `,gc` commit | `,gp` push | `,gl` pull | `]x` `[x` conflict
### Windows ### Windows
`Ctrl+hjkl` navigate (+ tmux) | `,z` maximize | `,h` `,l` buffers | `,tv` terminal | `Esc Esc` exit terminal `Ctrl+hjkl` navigate (+ tmux) | `,z` maximize | `,h` `,l` buffers | `,bd` close buffer | `,=` `,` resize | `,tv` `,th` terminal | `Esc Esc` exit terminal
### Writing ### Markdown
`,mt` table of contents `,mp` preview in browser | `,mt` table of contents
### Toggle
`F2` paste | `F3` line numbers | `F4` relative numbers | `F6` invisible chars | `,ss` spell check
### Utilities
`,cp` copy full path | `,cf` copy filename | `,ev` edit vimrc | `,sv` reload vimrc | `,wa` save all | `:ChopsticksStatus` diagnostics
</details> </details>
@ -107,6 +117,7 @@ jk exit insert mode ,bd close buffer
```vim ```vim
:LspInstallServer " auto-detects filetype :LspInstallServer " auto-detects filetype
:LspStatus " check what's running :LspStatus " check what's running
:ChopsticksStatus " see all tools + LSP + linters at a glance
``` ```
pylsp, gopls, rust-analyzer, clangd, marksman, sqls — no Node.js. JS/TS servers need Node. pylsp, gopls, rust-analyzer, clangd, marksman, sqls — no Node.js. JS/TS servers need Node.
@ -119,17 +130,17 @@ ALE and vim-lsp coexist cleanly (`ale_disable_lsp=1`). ALE handles linting + for
~/.vim/ ~/.vim/
├── .vimrc thin loader ├── .vimrc thin loader
├── modules/ ├── modules/
│ ├── env.vim TTY detection, truecolor │ ├── env.vim TTY detection, truecolor, skip built-in plugins
│ ├── plugins.vim vim-plug + 25 plugins │ ├── plugins.vim vim-plug + 25 plugins
│ ├── core.vim settings, keymaps, performance │ ├── core.vim settings, keymaps, performance
│ ├── ui.vim solarized, statusline, startify │ ├── ui.vim solarized, statusline, startify
│ ├── editing.vim easymotion, yank highlight │ ├── editing.vim easymotion, yank highlight, blank lines
│ ├── navigation.vim fzf, netrw, windows, terminal │ ├── navigation.vim fzf, netrw sidebar, windows, terminal
│ ├── lsp.vim vim-lsp, asyncomplete │ ├── lsp.vim vim-lsp, asyncomplete
│ ├── lint.vim ale, format-on-save │ ├── lint.vim ale, format-on-save
│ ├── git.vim fugitive, gitgutter │ ├── git.vim fugitive, gitgutter, conflict nav
│ ├── languages.vim vim-go, markdown, filetype settings │ ├── languages.vim vim-go, markdown, filetype settings
│ └── tools.vim run file, quickfix, helpers │ └── tools.vim run file, quickfix, cheat sheet, diagnostics
``` ```
Each module is self-contained. Comment out one line in `.vimrc` to disable it. Add your own with `call s:load('mine')`. Each module is self-contained. Comment out one line in `.vimrc` to disable it. Add your own with `call s:load('mine')`.
@ -138,7 +149,7 @@ Each module is self-contained. Comment out one line in `.vimrc` to disable it. A
| Metric | Value | | Metric | Value |
|--------|-------| |--------|-------|
| Lazy-loaded | 6 plugins (on command or filetype) | | Lazy-loaded | 7 plugins (on command or filetype) |
| Built-in plugins skipped | 10 (gzip, tar, zip, vimball, etc.) | | Built-in plugins skipped | 10 (gzip, tar, zip, vimball, etc.) |
| Large file threshold | 10MB (auto-disables syntax + undo) | | Large file threshold | 10MB (auto-disables syntax + undo) |
| TTY large file | 500KB (syntax disabled) | | TTY large file | 500KB (syntax disabled) |
@ -152,6 +163,7 @@ Each module is self-contained. Comment out one line in `.vimrc` to disable it. A
| Colors wrong | `export COLORTERM=truecolor` in shell rc | | Colors wrong | `export COLORTERM=truecolor` in shell rc |
| `Ctrl+s` freezes | `stty -ixon` in shell rc | | `Ctrl+s` freezes | `stty -ixon` in shell rc |
| Everything slow | Large file? Auto-disabled >10MB | | Everything slow | Large file? Auto-disabled >10MB |
| What's installed? | `:ChopsticksStatus` shows tools, LSP, linters |
More in the [wiki](https://github.com/m1ngsama/chopsticks/wiki). More in the [wiki](https://github.com/m1ngsama/chopsticks/wiki).

View file

@ -296,6 +296,7 @@ function! s:CheatSheet() abort
\ ' :w!! sudo save', \ ' :w!! sudo save',
\ ' ,ev edit vimrc', \ ' ,ev edit vimrc',
\ ' ,sv reload vimrc', \ ' ,sv reload vimrc',
\ ' :ChopsticksStatus health',
\ ]) \ ])
setlocal nomodifiable readonly setlocal nomodifiable readonly
nnoremap <buffer> <silent> q :bd<CR> nnoremap <buffer> <silent> q :bd<CR>