nvim: split snacks keys to allow reload with :so

This commit is contained in:
2025-12-19 22:21:10 +01:00
parent dafff8e0cd
commit 48392501e1
3 changed files with 219 additions and 214 deletions

View File

@@ -1,10 +1,16 @@
vim.keymap.set("n", "<M-h>", "<C-w>h") local set = vim.keymap.set
vim.keymap.set("n", "<M-k>", "<C-w>k")
vim.keymap.set("n", "<M-j>", "<C-w>j")
vim.keymap.set("n", "<M-l>", "<C-w>l")
vim.keymap.set("n", "<Esc>", "<cmd>nohlsearch<cr>") set("n", "<M-h>", "<C-w>h")
vim.keymap.set("n", "<leader>k", "<cmd>cp<cr>") set("n", "<M-k>", "<C-w>k")
vim.keymap.set("n", "<leader>j", "<cmd>cn<cr>") set("n", "<M-j>", "<C-w>j")
vim.keymap.set("n", "<leader>x", "<cmd>copen<cr>") set("n", "<M-l>", "<C-w>l")
vim.keymap.set("n", "<leader>X", "<cmd>cclose<cr>")
set("n", "<Esc>", "<cmd>nohlsearch<cr>")
set("n", "<leader>k", "<cmd>cp<cr>")
set("n", "<leader>j", "<cmd>cn<cr>")
set("n", "<leader>x", "<cmd>copen<cr>")
set("n", "<leader>X", "<cmd>cclose<cr>")
set("n", "<leader>a", "<cmd>AutoSession search<cr>")
require("config.remap.snacks")

View File

@@ -0,0 +1,204 @@
local set = vim.keymap.set
set("n", "<leader><space>", function()
Snacks.picker.smart()
end, { desc = "Smart Find Files" })
set("n", "<leader>b", function()
Snacks.picker.buffers()
end, { desc = "Buffers" })
set("n", "<leader>e", function()
Snacks.explorer()
end, { desc = "File Explorer" })
set("n", "<leader>r", function()
Snacks.picker.recent()
end, { desc = "Recent files" })
set("n", "<leader>R", function()
Snacks.picker.resume()
end, { desc = "Resume" })
set("n", "<leader>p", function()
Snacks.picker.projects()
end, { desc = "Projects" })
set("n", "<leader>l", function()
Snacks.picker.lines()
end, { desc = "Buffer lines" })
set("n", "<leader>L", function()
Snacks.picker.grep_buffers()
end, { desc = "Grep Open Buffers" })
set("n", "<leader>F", function()
Snacks.picker.files()
end, { desc = "Find Files" })
set("n", "<leader>S", function()
Snacks.picker.grep()
end, { desc = "Grep" })
set("n", "<leader>B", function()
Snacks.picker.git_branches()
end, { desc = "Git Branches" })
set({ "n", "v" }, "<leader>xB", function()
Snacks.gitbrowse()
end, { desc = "Git Browse" })
set("n", "<leader>i", function()
Snacks.picker.git_log_line()
end, { desc = "Git Log Line" })
set("n", "<leader>I", function()
Snacks.picker.git_log()
end, { desc = "Git Log" })
set("n", "<leader>t", function()
Snacks.picker.git_status()
end, { desc = "Git Status" })
set("n", "<leader>H", function()
Snacks.picker.git_diff()
end, { desc = "Git Diff (Hunks)" })
set("n", "<leader>xS", function()
Snacks.picker.git_stash()
end, { desc = "Git Stash" })
set("n", "<leader>f", function()
Snacks.picker.git_files()
end, { desc = "Find Git Files" })
set("n", "<leader>s", function()
Snacks.picker.git_grep()
end, { desc = "Git Grep" })
set({ "n", "v" }, "<leader>o", function()
Snacks.picker.grep_word()
end, { desc = "Grep Visual Selection or Word" })
set("n", "<leader>g", function()
Snacks.lazygit()
end, { desc = "Lazygit" })
set("n", "<leader>G", function()
Snacks.lazygit.log_file()
end, { desc = "Git Log File" })
set("n", "<leader>m", function()
Snacks.picker.marks()
end, { desc = "Marks" })
set("n", "<leader>M", function()
Snacks.picker.man()
end, { desc = "Man pages" })
set("n", "<leader>U", function()
Snacks.picker.undo()
end, { desc = "Undo History" })
set("n", "<leader>q", function()
Snacks.picker.qflist()
end, { desc = "Quickfix list" })
set("n", "<leader>Q", function()
Snacks.picker.loclist()
end, { desc = "Location List" })
set("n", "<leader>xs", function()
Snacks.picker.colorschemes()
end, { desc = "Colorschemes" })
set("n", "<leader>n", function()
Snacks.notifier.show_history()
end, { desc = "Notification History" })
set("n", "<leader>N", function()
Snacks.picker.notifications()
end, { desc = "Notifications" })
set("n", "<leader>xC", function()
Snacks.picker.commands()
end, { desc = "Commands" })
set("n", "<leader>h", function()
Snacks.picker.keymaps()
end, { desc = "Keymaps" })
set("n", "<leader>xh", function()
Snacks.picker.highlights()
end, { desc = "Hightlights" })
set("n", "<leader>xc", function()
Snacks.picker.command_history()
end, { desc = "Command History" })
set("n", '<leader>"', function()
Snacks.picker.registers()
end, { desc = "Registers" })
set("n", "<leader>$", function()
Snacks.rename.rename_file()
end, { desc = "Rename File" })
set("n", "<leader>z", function()
Snacks.zen.zoom()
end, { desc = "Toggle Zoom" })
set("n", "<leader>.", function()
Snacks.scratch()
end, { desc = "Toggle Scratch Buffer" })
set("n", "<leader>x.", function()
Snacks.scratch.select()
end, { desc = "Select Scratch Buffer" })
-- LSP
set("n", "gd", function()
Snacks.picker.lsp_definitions()
end, { desc = "Goto Definition" })
set("n", "gD", function()
Snacks.picker.lsp_declarations()
end, { desc = "Goto Declaration" })
set("n", "grr", function()
Snacks.picker.lsp_references()
end, { desc = "References" })
set("n", "gI", function()
Snacks.picker.lsp_implementations()
end, { desc = "Goto Implementation" })
set("n", "gy", function()
Snacks.picker.lsp_type_definitions()
end, { desc = "Goto T[y]pe Definition" })
set("n", "<leader>w", function()
Snacks.picker.lsp_symbols()
end, { desc = "LSP Symbols" })
set("n", "<leader>d", function()
Snacks.picker.diagnostics_buffer()
end, { desc = "Buffer Diagnostics" })
set("n", "<leader>D", function()
Snacks.picker.diagnostics()
end, { desc = "Diagnostics" })
set("n", "<leader>W", function()
Snacks.picker.lsp_workspace_symbols()
end, { desc = "LSP Workspace Symbols" })
-- Terminal
set({ "n", "t" }, "<c-/>", function()
Snacks.terminal()
end, { desc = "Toggle Terminal" })
set({ "n", "t" }, "<c-_>", function()
Snacks.terminal()
end, { desc = "which_key_ignore" })

View File

@@ -1,210 +1,5 @@
return { return {
init = function() init = function()
local set = vim.keymap.set
set("n", "<leader><space>", function()
Snacks.picker.smart()
end, { desc = "Smart Find Files" })
set("n", "<leader>b", function()
Snacks.picker.buffers()
end, { desc = "Buffers" })
set("n", "<leader>e", function()
Snacks.explorer()
end, { desc = "File Explorer" })
set("n", "<leader>r", function()
Snacks.picker.recent()
end, { desc = "Recent files" })
set("n", "<leader>R", function()
Snacks.picker.resume()
end, { desc = "Resume" })
set("n", "<leader>p", function()
Snacks.picker.projects()
end, { desc = "Projects" })
set("n", "<leader>l", function()
Snacks.picker.lines()
end, { desc = "Buffer lines" })
set("n", "<leader>L", function()
Snacks.picker.grep_buffers()
end, { desc = "Grep Open Buffers" })
set("n", "<leader>F", function()
Snacks.picker.files()
end, { desc = "Find Files" })
set("n", "<leader>S", function()
Snacks.picker.grep()
end, { desc = "Grep" })
set("n", "<leader>B", function()
Snacks.picker.git_branches()
end, { desc = "Git Branches" })
set({ "n", "v" }, "<leader>xB", function()
Snacks.gitbrowse()
end, { desc = "Git Browse" })
set("n", "<leader>i", function()
Snacks.picker.git_log_line()
end, { desc = "Git Log Line" })
set("n", "<leader>I", function()
Snacks.picker.git_log()
end, { desc = "Git Log" })
set("n", "<leader>t", function()
Snacks.picker.git_status()
end, { desc = "Git Status" })
set("n", "<leader>H", function()
Snacks.picker.git_diff()
end, { desc = "Git Diff (Hunks)" })
set("n", "<leader>xS", function()
Snacks.picker.git_stash()
end, { desc = "Git Stash" })
set("n", "<leader>f", function()
Snacks.picker.git_files()
end, { desc = "Find Git Files" })
set("n", "<leader>s", function()
Snacks.picker.git_grep()
end, { desc = "Git Grep" })
set({ "n", "v" }, "<leader>o", function()
Snacks.picker.grep_word()
end, { desc = "Grep Visual Selection or Word" })
set("n", "<leader>g", function()
Snacks.lazygit()
end, { desc = "Lazygit" })
set("n", "<leader>G", function()
Snacks.lazygit.log_file()
end, { desc = "Git Log File" })
set("n", "<leader>m", function()
Snacks.picker.marks()
end, { desc = "Marks" })
set("n", "<leader>M", function()
Snacks.picker.man()
end, { desc = "Man pages" })
set("n", "<leader>U", function()
Snacks.picker.undo()
end, { desc = "Undo History" })
set("n", "<leader>q", function()
Snacks.picker.qflist()
end, { desc = "Quickfix list" })
set("n", "<leader>Q", function()
Snacks.picker.loclist()
end, { desc = "Location List" })
set("n", "<leader>xs", function()
Snacks.picker.colorschemes()
end, { desc = "Colorschemes" })
set("n", "<leader>n", function()
Snacks.notifier.show_history()
end, { desc = "Notification History" })
set("n", "<leader>N", function()
Snacks.picker.notifications()
end, { desc = "Notifications" })
set("n", "<leader>xC", function()
Snacks.picker.commands()
end, { desc = "Commands" })
set("n", "<leader>h", function()
Snacks.picker.keymaps()
end, { desc = "Keymaps" })
set("n", "<leader>xh", function()
Snacks.picker.highlights()
end, { desc = "Hightlights" })
set("n", "<leader>xc", function()
Snacks.picker.command_history()
end, { desc = "Command History" })
set("n", '<leader>"', function()
Snacks.picker.registers()
end, { desc = "Registers" })
set("n", "<leader>$", function()
Snacks.rename.rename_file()
end, { desc = "Rename File" })
set("n", "<leader>z", function()
Snacks.zen.zoom()
end, { desc = "Toggle Zoom" })
set("n", "<leader>.", function()
Snacks.scratch()
end, { desc = "Toggle Scratch Buffer" })
set("n", "<leader>x.", function()
Snacks.scratch.select()
end, { desc = "Select Scratch Buffer" })
-- LSP
set("n", "gd", function()
Snacks.picker.lsp_definitions()
end, { desc = "Goto Definition" })
set("n", "gD", function()
Snacks.picker.lsp_declarations()
end, { desc = "Goto Declaration" })
set("n", "grr", function()
Snacks.picker.lsp_references()
end, { desc = "References" })
set("n", "gI", function()
Snacks.picker.lsp_implementations()
end, { desc = "Goto Implementation" })
set("n", "gy", function()
Snacks.picker.lsp_type_definitions()
end, { desc = "Goto T[y]pe Definition" })
set("n", "<leader>w", function()
Snacks.picker.lsp_symbols()
end, { desc = "LSP Symbols" })
set("n", "<leader>d", function()
Snacks.picker.diagnostics_buffer()
end, { desc = "Buffer Diagnostics" })
set("n", "<leader>D", function()
Snacks.picker.diagnostics()
end, { desc = "Diagnostics" })
set("n", "<leader>W", function()
Snacks.picker.lsp_workspace_symbols()
end, { desc = "LSP Workspace Symbols" })
-- Terminal
set({ "n", "t" }, "<c-/>", function()
Snacks.terminal()
end, { desc = "Toggle Terminal" })
set({ "n", "t" }, "<c-_>", function()
Snacks.terminal()
end, { desc = "which_key_ignore" })
vim.api.nvim_create_autocmd("VimEnter", { vim.api.nvim_create_autocmd("VimEnter", {
callback = function() callback = function()
-- Setup some globals for debugging (lazy-loaded) -- Setup some globals for debugging (lazy-loaded)