Prioritize _G.nvim_vimenter_done (recorded when runtime plugins and ShaDa
are fully loaded) for the startup time displayed in mini.starter's footer,
falling back to _G.nvim_init_done if unavailable. This makes the reported
duration much closer to what --startuptime measures.
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
- Document every Lua module with detailed Chinese comments explaining
purpose, design decisions, and key implementation details
- Standardize indentation from tabs to 4 spaces for consistency
- Add .claude/ to .gitignore
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
- Disable unused built-in plugins at top of init.lua
- Defer treesitter and lsp to VimEnter
- Use packadd for on-demand plugin loading (conform, lspconfig, fugitive)
- Defer clipboard initialization to avoid provider check blocking
- Wrap LSP/diagnostic keymaps in functions to defer module loading
- Defer mini.icons setup to VimEnter
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
- Add startup time tracking with hrtime in init.lua
- Configure mini.starter with Neovim ASCII logo and plugin stats
- Switch mini.notify to load on first vim.notify call
- Switch mini.cmdline to load on first ':' keypress
- Add mini.icons eager loading
- Remove x-mode 'p' keymap (handled by mini.operators)
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>