Unify indentation to tabs and add keymaps/pickers

- Convert 4-space indentation to tabs across all lua files
- Add <C-s> save file and <C-c> copy whole file keymaps
- Add mini.pick keymaps: <leader>fa (find all), <leader>fh (help),
  <leader>fo (oldfiles), <leader>fz (buffer lines)
- Change <leader>fw to grep_live, <leader>vh to <leader>fh
- Fix conform lazy-loading buffer reference

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
This commit is contained in:
xfy 2026-05-28 11:36:26 +08:00
parent a282113ccf
commit 7c5529c400
4 changed files with 248 additions and 227 deletions

View File

@ -11,8 +11,12 @@ map("v", ">", ">gv", { desc = "Indent and keep selection" })
map("n", "J", "mzJ`z", { desc = "Join lines without moving cursor" }) map("n", "J", "mzJ`z", { desc = "Join lines without moving cursor" })
map("n", "<leader>ss", [[:%s/\<<C-r><C-w>\>/<C-r><C-w>/gI<Left><Left><Left>]], map(
{ desc = "Replace word cursor is on globally" }) "n",
"<leader>ss",
[[:%s/\<<C-r><C-w>\>/<C-r><C-w>/gI<Left><Left><Left>]],
{ desc = "Replace word cursor is on globally" }
)
map("v", "<leader>ss", ":s/\\%V", { desc = "Search and replace in visual selection" }) map("v", "<leader>ss", ":s/\\%V", { desc = "Search and replace in visual selection" })
-- general -- general
@ -27,6 +31,9 @@ vim.keymap.set("n", "<leader>u", function()
require("undotree").open() require("undotree").open()
end, { desc = "Toggle Builtin Undotree" }) end, { desc = "Toggle Builtin Undotree" })
map("n", "<C-s>", "<cmd>w<CR>", { desc = "Save file" })
map("n", "<C-c>", "<cmd>%y+<CR>", { desc = "Copy whole file" })
map("t", "<C-x>", "<c-\\><c-n>", { desc = "Escape termainl" }) map("t", "<C-x>", "<c-\\><c-n>", { desc = "Escape termainl" })
map("n", "<leader>tt", ":term<CR>", { desc = "Open new terminal" }) map("n", "<leader>tt", ":term<CR>", { desc = "Open new terminal" })

View File

@ -32,11 +32,13 @@ local function setup_conform()
}) })
end end
lazy.on_event("conform", "BufWritePre", "*", function(args) lazy.on_event("conform", "BufWritePre", "*", function()
setup_conform() setup_conform()
-- 首次保存时手动触发格式化setup 注册的 autocmd 不会在同一次事件中生效) -- conform 的 setup 注册了 BufWritePre但新 autocmd 不会在同一次事件中触发
if vim.b[args.buf].autoformat ~= false and vim.g.autoformat ~= false then -- 所以这里手动调用 format 补偿第一次保存
require("conform").format({ bufnr = args.buf, timeout_ms = 500, lsp_fallback = true }) local bufnr = vim.api.nvim_get_current_buf()
if vim.b[bufnr].autoformat ~= false and vim.g.autoformat ~= false then
require("conform").format({ bufnr = bufnr, timeout_ms = 500, lsp_fallback = true })
end end
end) end)

View File

@ -77,12 +77,8 @@ lazy.on_keys("pick", "<leader>ff", "n", load_pick, function()
end, { desc = "Mini File Picker" }) end, { desc = "Mini File Picker" })
lazy.on_keys("pick", "<leader>fw", "n", load_pick, function() lazy.on_keys("pick", "<leader>fw", "n", load_pick, function()
require("mini.pick").builtin.grep({ pattern = vim.fn.expand("<cword>") }) require("mini.pick").builtin.grep_live()
end, { desc = "Grep word/Search word" }) end, { desc = "Live grep in project" })
lazy.on_keys("pick", "<leader>vh", "n", load_pick, function()
require("mini.pick").builtin.help()
end, { desc = "Mini Help" })
lazy.on_keys("pick", "<leader>ds", "n", load_pick, function() lazy.on_keys("pick", "<leader>ds", "n", load_pick, function()
require("mini.extra").pickers.diagnostic() require("mini.extra").pickers.diagnostic()
@ -92,6 +88,22 @@ lazy.on_keys("pick", "<leader>sk", "n", load_pick, function()
require("mini.extra").pickers.keymaps() require("mini.extra").pickers.keymaps()
end, { desc = "Search keymaps" }) end, { desc = "Search keymaps" })
lazy.on_keys("pick", "<leader>fa", "n", load_pick, function()
require("mini.pick").builtin.cli({ command = { "rg", "--files", "--hidden", "--no-ignore", "--color=never" } })
end, { desc = "Find all files (including hidden/ignored)" })
lazy.on_keys("pick", "<leader>fh", "n", load_pick, function()
require("mini.pick").builtin.help()
end, { desc = "Search help tags" })
lazy.on_keys("pick", "<leader>fo", "n", load_pick, function()
require("mini.extra").pickers.oldfiles()
end, { desc = "Search oldfiles" })
lazy.on_keys("pick", "<leader>fz", "n", load_pick, function()
require("mini.extra").pickers.buf_lines({ scope = "current" })
end, { desc = "Search in current buffer" })
-- mini.completion - InsertEnter -- mini.completion - InsertEnter
lazy.on_event("completion", "InsertEnter", "*", function() lazy.on_event("completion", "InsertEnter", "*", function()
require("mini.completion").setup({ require("mini.completion").setup({