refactor(pack): 分组注释对齐实现,诚实化职责声明

pack.lua 头部原写“具体插件配置和键位移至 plugins/”,但实际直接
setup 了 12 个插件。修正职责声明:
- 明确“直接 setup 通用/轻量插件,功能域插件移至 plugins/”
- 补充拆分规则:配置简单留本文件,配置复杂移 plugins/
- 将 12 个 setup 按 UI 层/编辑增强/补全/重型模块/独立工具 五类分组
- 每个插件的单行说明合并到分组标题下,减少重复注释
This commit is contained in:
xfy 2026-06-16 10:06:57 +08:00
parent e013cb9e88
commit f428eee797

View File

@ -6,9 +6,13 @@
-- --
-- 职责边界: -- 职责边界:
-- - 声明插件安装vim.pack.add -- - 声明插件安装vim.pack.add
-- - 调度各插件的加载时机lazy.on_event / lazy.on_keys / lazy.on_cmd -- - 直接 setup 通用/轻量插件UI、编辑增强、补全、独立工具
-- - 直接初始化轻量插件notify、cmdline -- - 功能域插件git/lsp/pick/files/treesitter/starter的配置与键位
-- - 具体的插件配置和键位移至 lua/plugins/*.lua -- 移至 lua/plugins/*.lua由本文件 require 调度
--
-- 拆分规则:
-- - 配置简单(纯 setup 或少量选项)→ 留在本文件
-- - 配置复杂(含多键位、自定义函数、交互逻辑)→ 移至 plugins/
-- --
-- 插件列表: -- 插件列表:
-- mini.nvim - 单体插件集starter、pick、extra、files、icons、 -- mini.nvim - 单体插件集starter、pick、extra、files、icons、
@ -56,19 +60,21 @@ vim.pack.add({
}, { load = false }) }, { load = false })
-- --------------------------------------------------------------------------- -- ---------------------------------------------------------------------------
-- 加载各插件的配置模块(含键位映射) -- 功能域插件配置lua/plugins/*.lua
-- 必须在 vim.pack.add 之后,确保插件路径已注册到 runtimepath
-- --------------------------------------------------------------------------- -- ---------------------------------------------------------------------------
-- 加载各功能域插件的配置模块(含键位映射与自定义逻辑)。
-- 必须在 vim.pack.add 之后,确保插件路径已注册到 runtimepath。
require("plugins.git") require("plugins.git")
require("plugins.pick") require("plugins.pick")
require("plugins.files") require("plugins.files")
require("plugins.starter") require("plugins.starter")
-- --------------------------------------------------------------------------- -- =============================================================================
-- mini.notify — 通知消息(直接初始化) -- UI 层:通知、命令行、图标
-- --------------------------------------------------------------------------- -- =============================================================================
-- 替换默认的 vim.notify提供美观的浮动通知窗口。
-- 轻量,不阻塞启动。使用 pcall 保护首次启动。 -- mini.notify — 替换默认 vim.notify提供浮动通知窗口直接初始化轻量不阻塞
-- 使用 pcall 保护首次启动(插件可能尚未下载完成)
local ok_notify, notify = pcall(require, "mini.notify") local ok_notify, notify = pcall(require, "mini.notify")
if ok_notify then if ok_notify then
notify.setup({ notify.setup({
@ -83,10 +89,8 @@ if ok_notify then
lazy.track("notify") lazy.track("notify")
end end
-- ---------------------------------------------------------------------------
-- mini.cmdline — 增强命令行(首次按 : 时加载) -- mini.cmdline — 增强命令行(首次按 : 时加载)
-- --------------------------------------------------------------------------- -- 使用 expr 映射:返回 ":" 让 Vim 继续处理
-- 提供美观的命令行界面,使用 expr 映射:返回 ":" 让 Vim 继续处理。
vim.keymap.set("n", ":", function() vim.keymap.set("n", ":", function()
-- 首次按下 : 时删除此映射,避免后续重复触发 -- 首次按下 : 时删除此映射,避免后续重复触发
vim.keymap.del("n", ":") vim.keymap.del("n", ":")
@ -97,10 +101,8 @@ vim.keymap.set("n", ":", function()
return ":" return ":"
end, { expr = true, noremap = true }) end, { expr = true, noremap = true })
-- --------------------------------------------------------------------------- -- mini.icons — 文件类型图标VimEnter 后延迟加载)
-- mini.icons — 图标支持VimEnter 后延迟加载) -- 供 mini.pick、mini.files 等使用
-- ---------------------------------------------------------------------------
-- 提供文件类型图标,供 mini.pick、mini.files 等使用。
vim.api.nvim_create_autocmd("VimEnter", { vim.api.nvim_create_autocmd("VimEnter", {
once = true, once = true,
callback = function() callback = function()
@ -109,30 +111,35 @@ vim.api.nvim_create_autocmd("VimEnter", {
end, end,
}) })
-- --------------------------------------------------------------------------- -- =============================================================================
-- 编辑增强括号配对、textobject、光标高亮、环绕操作
-- =============================================================================
-- mini.pairs — 自动括号配对InsertEnter 懒加载) -- mini.pairs — 自动括号配对InsertEnter 懒加载)
-- ---------------------------------------------------------------------------
lazy.on_event("pairs", "InsertEnter", "*", function() lazy.on_event("pairs", "InsertEnter", "*", function()
require("mini.pairs").setup() require("mini.pairs").setup()
end) end)
-- ---------------------------------------------------------------------------
-- mini.ai — 扩展 a/i textobjectBufReadPost 懒加载) -- mini.ai — 扩展 a/i textobjectBufReadPost 懒加载)
-- ---------------------------------------------------------------------------
lazy.on_event("ai", "BufReadPost", "*", function() lazy.on_event("ai", "BufReadPost", "*", function()
require("mini.ai").setup() require("mini.ai").setup()
end) end)
-- ---------------------------------------------------------------------------
-- mini.cursorword — 自动高亮光标下单词BufReadPost 懒加载) -- mini.cursorword — 自动高亮光标下单词BufReadPost 懒加载)
-- ---------------------------------------------------------------------------
lazy.on_event("cursorword", "BufReadPost", "*", function() lazy.on_event("cursorword", "BufReadPost", "*", function()
require("mini.cursorword").setup() require("mini.cursorword").setup()
end) end)
-- --------------------------------------------------------------------------- -- mini.surround — 环绕文本操作BufReadPost 懒加载)
-- mini.completion — 自动补全InsertEnter 懒加载) lazy.on_event("surround", "BufReadPost", "*", function()
-- --------------------------------------------------------------------------- require("mini.surround").setup()
end)
-- =============================================================================
-- 补全与代码片段InsertEnter 懒加载)
-- =============================================================================
-- mini.completion — 自动补全引擎LSP + Buffer
lazy.on_event("completion", "InsertEnter", "*", function() lazy.on_event("completion", "InsertEnter", "*", function()
require("mini.completion").setup({ require("mini.completion").setup({
lsp_completion = { lsp_completion = {
@ -141,9 +148,7 @@ lazy.on_event("completion", "InsertEnter", "*", function()
}) })
end) end)
-- --------------------------------------------------------------------------- -- mini.snippets — 代码片段引擎
-- mini.snippets — 代码片段InsertEnter 懒加载)
-- ---------------------------------------------------------------------------
lazy.on_event("snippets", "InsertEnter", "*", function() lazy.on_event("snippets", "InsertEnter", "*", function()
local MiniSnippets = require("mini.snippets") local MiniSnippets = require("mini.snippets")
MiniSnippets.setup({ MiniSnippets.setup({
@ -154,16 +159,9 @@ lazy.on_event("snippets", "InsertEnter", "*", function()
MiniSnippets.start_lsp_server({ match = false }) MiniSnippets.start_lsp_server({ match = false })
end) end)
-- --------------------------------------------------------------------------- -- =============================================================================
-- mini.surround — 环绕文本操作BufReadPost 懒加载) -- 重型模块VimEnter 延迟加载)
-- --------------------------------------------------------------------------- -- =============================================================================
lazy.on_event("surround", "BufReadPost", "*", function()
require("mini.surround").setup()
end)
-- ---------------------------------------------------------------------------
-- 重型模块延迟加载VimEnter 事件)
-- ---------------------------------------------------------------------------
-- treesitter 和 lsp 是启动时最耗时的模块, -- treesitter 和 lsp 是启动时最耗时的模块,
-- 延迟到 VimEnter 事件触发后加载,让编辑器界面先渲染出来。 -- 延迟到 VimEnter 事件触发后加载,让编辑器界面先渲染出来。
lazy.on_event("treesitter", "VimEnter", "*", function() lazy.on_event("treesitter", "VimEnter", "*", function()
@ -174,10 +172,12 @@ lazy.on_event("lsp", "VimEnter", "*", function()
require("plugins.lsp") require("plugins.lsp")
end) end)
-- --------------------------------------------------------------------------- -- =============================================================================
-- 独立工具(按键/命令触发懒加载)
-- =============================================================================
-- grug-far.nvim — 搜索与替换(按键触发懒加载) -- grug-far.nvim — 搜索与替换(按键触发懒加载)
-- --------------------------------------------------------------------------- -- 提供类似 VS Code 的查找替换界面,支持正则和文件过滤
-- 提供类似 VS Code 的查找替换界面,支持正则和文件过滤。
local function load_grug_far() local function load_grug_far()
vim.cmd.packadd("grug-far.nvim") vim.cmd.packadd("grug-far.nvim")
require("grug-far").setup({ headerMaxWidth = 80 }) require("grug-far").setup({ headerMaxWidth = 80 })
@ -201,9 +201,7 @@ end
-- Normal 和 Visual 模式共用同一个映射,通过 mode 表一次性注册 -- Normal 和 Visual 模式共用同一个映射,通过 mode 表一次性注册
lazy.on_keys("grugfar", "<leader>sr", { "n", "x" }, load_grug_far, open_grug_far, { desc = "搜索并替换" }) lazy.on_keys("grugfar", "<leader>sr", { "n", "x" }, load_grug_far, open_grug_far, { desc = "搜索并替换" })
-- ---------------------------------------------------------------------------
-- ex-colors.nvim — colorscheme 提取与优化(命令触发懒加载) -- ex-colors.nvim — colorscheme 提取与优化(命令触发懒加载)
-- ---------------------------------------------------------------------------
-- 仅在执行 :ExColors 时加载,不占用启动时间。 -- 仅在执行 :ExColors 时加载,不占用启动时间。
-- 生成的文件保存在 ~/.config/nvim/colors/ex-{colors_name}.lua -- 生成的文件保存在 ~/.config/nvim/colors/ex-{colors_name}.lua
lazy.on_cmd("ex-colors", "ExColors", function() lazy.on_cmd("ex-colors", "ExColors", function()