d253583d0b
Improve installer profile handling and validation
2026-05-03 23:23:21 +08:00
7ff5326932
Make Vim help profile aware
2026-05-03 23:23:21 +08:00
a9e16d22d3
Respect profiles in local config and status
2026-05-03 23:23:21 +08:00
db9b96f577
Refine Vim defaults and add profiles
2026-05-03 23:23:21 +08:00
cddb5fa725
feat(ui): native tabline + fixed-width signcolumn
...
test / startup (macos-latest) (push) Has been cancelled
test / startup (ubuntu-latest) (push) Has been cancelled
test / shellcheck (push) Has been cancelled
Show all listed buffers in a tabline (current bufnr highlighted, modified
marker '+'), and reserve a permanent signcolumn so width doesn't jitter when
gitgutter/ALE/LSP signs come and go.
- ui.vim: TLBuild() + TabLine{,Sel,Fill} hl groups via ColorScheme autocmd;
set signcolumn=yes for non-TTY (overrides core.vim's previous logic)
- core.vim: drop non-TTY signcolumn branch (centralized in ui.vim)
2026-04-27 18:08:40 +08:00
28e4ed3794
fix(ui): drop noisy colorcolumn, polish highlights, warn on missing colorscheme
...
The full-column ColorColumn was visually overwhelming on every line, especially
with default vim's LightRed (kicked in silently when solarized8 wasn't installed).
Replace it with an OverLength match that only highlights characters past the
buffer's textwidth.
- editing.vim: OverLength matchadd, refreshed on FileType/BufWinEnter/OptionSet
- languages.vim: drop colorcolumn from per-filetype autocmds (textwidth still set)
- ui.vim: VertSplit/CursorLine/CursorLineNr/SignColumn override via ColorScheme
autocmd; fillchars for vert and eob; timer-based warning if solarized8 missing
2026-04-27 18:08:28 +08:00
4fd9a09948
fix: add missing visual mode mappings for clipboard, movement, and editing
...
test / startup (macos-latest) (push) Waiting to run
test / startup (ubuntu-latest) (push) Waiting to run
test / shellcheck (push) Waiting to run
,p ,P ,F ,W ,* now work in visual mode. 0→^ and C-d/C-u centering
carry into visual selections. Cheat sheet updated with (v) markers.
2026-04-26 15:32:55 +08:00
01c67d841b
fix: audit fixes — shellcheck, TTY signcolumn, matchdelete race, docs accuracy
...
test / startup (macos-latest) (push) Has been cancelled
test / startup (ubuntu-latest) (push) Has been cancelled
test / shellcheck (push) Has been cancelled
- install.sh: ls -A → find (shellcheck SC2012)
- navigation.vim: GFiles -nargs=? to support :GFiles?
- lsp.vim: signcolumn=yes gated behind !g:is_tty
- editing.vim: matchdelete in timer wrapped with silent!
- README: gofmt → goimports, plugin count 24–25
- CHANGELOG: annotate removed features (ChopsticksLearn, vim . layout)
2026-04-22 18:31:08 +08:00
a42c980d3e
perf: remove ttyfast, add grepprg/diffopt, DRY FZF commands, conditional tmux-navigator
...
- Remove deprecated `set ttyfast` (no-op since Vim 8)
- Add grepprg=rg for :grep → quickfix integration
- Add diffopt with histogram algorithm
- Consolidate Rg/RgWord/GFiles (24 lines → 10, lazy preview)
- Load vim-tmux-navigator only inside tmux, Ctrl+hjkl fallback outside
2026-04-22 17:06:33 +08:00
56c3917682
perf+feat: fix logiPat guard, skip 2 more built-ins, add git/format bindings
...
Performance:
- Fix g:loaded_logipat → g:loaded_logiPat (0.478ms → 0.017ms)
- Skip openPlugin + manpager (12 built-in plugins disabled total)
Features:
- ,af toggle format-on-save
- ,gL git log --oneline --graph
- ,gC FZF commits search, ,gB buffer commits
2026-04-22 16:30:28 +08:00
565f2fc80b
docs: full README update — accurate keybindings, :ChopsticksStatus, lazy count fix
...
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
2026-04-22 15:25:40 +08:00
0686f9c6be
feat: add :ChopsticksStatus diagnostic command and CHANGELOG
...
:ChopsticksStatus shows system tools, LSP servers, linters, and
formatters with OK/missing status. Helps new users discover what
to install without leaving Vim.
2026-04-22 15:21:35 +08:00
73a55e18e6
docs: fix plugin count (25), improve first-launch guidance, add :LspInstallServer to cheat sheet
2026-04-22 15:09:27 +08:00
0e92e6c1a8
feat: restore previm markdown preview (lazy-loaded, ,mp)
2026-04-22 14:57:55 +08:00
fbb692846b
ui: redesign cheat sheet — vertical sidebar, one key per line, aligned
2026-04-22 14:41:09 +08:00
51b10aa16d
feat: restore ,? cheat sheet — lean version matching current keybindings
2026-04-22 14:35:45 +08:00
5371521360
refactor: Unix minimalism — drop 565 lines, 5 plugins, 0 features that matter
...
Remove: Goyo, Limelight, previm, vim-obsession, indentLine (5 plugins).
Remove: cheat sheet function (90 lines), tutorial system (269 lines),
ASCII art banner, tab management (8 keybindings), dead code (HasPaste,
CleanExtraSpaces, ToggleNumber), spell nav bindings, scratch buffer,
syntax stack debug, TTY startup message.
Fold: writing.vim → languages.vim (vim-markdown settings only).
Keep: everything that edits code — LSP, FZF, Git, ALE, netrw sidebar.
Result: 24 plugins, 949 lines, 19ms startup. No decorations, just tools.
2026-04-22 14:27:15 +08:00
261b6cdce6
feat: UI visibility — sidebar toggle, enriched statusline, toggle feedback
...
- Netrw sidebar: ,e/,E toggles left-side tree (topleft + winfixwidth)
- vim . opens netrw sidebar (30 cols) + Startify dashboard
- Statusline: buffer count, PASTE/SPELL/MAX flags, LSP server, encoding
- Toggle echo: F2/F3/F4/F6/,ss/,z show new state
- README: fix empty table header in "What's in the box"
2026-04-22 12:52:31 +08:00
2e37efe644
feat: improve UI visibility and user interaction
...
Statusline: add buffer count, PASTE/SPELL/MAX flags, LSP server name,
encoding (shown only when non-utf-8/unix).
File tree sidebar: ,e toggles netrw sidebar (cwd), ,E toggles sidebar
(current file dir). Tracks t:netrw_sidebar_buf per-tab for reliable
toggle. browse_split=4 opens files in editor window.
vim . integration: opens tree sidebar (30 cols) + Startify dashboard.
Files opened from tree replace the dashboard.
Toggle feedback: F2/F3/F4/F6/,ss/,z now echo their new state.
2026-04-22 12:13:37 +08:00
dbb11c9473
perf: 23ms → 19ms — drop vim-unimpaired, runtime tuning
...
Startup: replace vim-unimpaired (2.5ms) with 2-line blank line insertion.
29 plugins now. All [q/]q, [e/]e, [x/]x mappings were already ours.
Runtime:
- ALE lint_delay=200ms, echo_delay=100ms — less thrashing during edits
- LSP virtual_text_delay=200ms, highlight_delay=200ms, echo_delay=100ms
- Disable gitgutter default mappings (map_keys=0) — we don't use them
- Merge two BufReadPre large-file autocmds into one (single getfsize)
- Remove redundant filetype detection autocmds (Vim 9.2 handles natively)
2026-04-22 00:46:00 +08:00
f0d4431eef
perf: 39ms → 23ms startup (40% faster)
...
- Guard against double-sourcing when exrc loads CWD .vimrc (saves ~8ms)
- Lazy-load EasyMotion, undotree, previm, goyo, limelight (on-demand)
- Lazy-load language syntax plugins (for: filetype)
- Enable lsp_settings_lazyload (defer server init to VimEnter)
- Skip unused built-in plugins (2html, gzip, tar, zip, vimball, etc.)
- Remove redundant filetype/syntax calls (plug#end already enables them)
- Add shortmess+=I to skip intro screen
2026-04-22 00:36:44 +08:00
6044fc5fcb
refactor: modular architecture — split .vimrc into 12 self-contained modules
...
Replace the monolithic 1268-line .vimrc with a thin loader that sources
12 modules under modules/ (env, plugins, core, ui, editing, navigation,
lsp, lint, git, writing, languages, tools). Each module is independently
readable and can be toggled by commenting one line.
Add interactive tutorial (tutor/chopsticks.tutor) with 10 lessons covering
all features. Users can run :ChopsticksLearn to start.
2026-04-22 00:05:10 +08:00