198 lines
8.1 KiB
Lua
198 lines
8.1 KiB
Lua
-- leader
|
|
vim.g.mapleader = " "
|
|
|
|
-- visual block indenting
|
|
vim.keymap.set("v", "<", "<gv")
|
|
vim.keymap.set("v", ">", ">gv")
|
|
-- centered cursor
|
|
vim.keymap.set("n", "n", "nzz")
|
|
vim.keymap.set("n", "N", "Nzz")
|
|
vim.keymap.set("n", "J", "mzJ`z")
|
|
|
|
-- escape terminal mode
|
|
vim.keymap.set("t", "<C-a>", "<C-\\><C-n>")
|
|
|
|
-- movement
|
|
vim.keymap.set("n", "<C-h>", "<cmd>wincmd h<CR>", { desc = "Move Left" })
|
|
vim.keymap.set("n", "<C-j>", "<cmd>wincmd j<CR>", { desc = "Move Down" })
|
|
vim.keymap.set("n", "<C-k>", "<cmd>wincmd k<CR>", { desc = "Move Up" })
|
|
vim.keymap.set("n", "<C-l>", "<cmd>wincmd l<CR>", { desc = "Move Right" })
|
|
|
|
-- terminal
|
|
vim.keymap.set("t", "<C-h>", "<cmd>wincmd h<CR>", { desc = "Move Left" })
|
|
vim.keymap.set("t", "<C-j>", "<cmd>wincmd j<CR>", { desc = "Move Down" })
|
|
vim.keymap.set("t", "<C-k>", "<cmd>wincmd k<CR>", { desc = "Move Up" })
|
|
vim.keymap.set("t", "<C-l>", "<cmd>wincmd l<CR>", { desc = "Move Right" })
|
|
|
|
-- basics
|
|
vim.keymap.set("n", "<leader>f", "<cmd>Telescope find_files<CR>", { desc = "Find Files" })
|
|
vim.keymap.set("n", "<leader>F", "<cmd>NvimTreeToggle<CR>", { desc = "Toggle File Manager" })
|
|
vim.keymap.set("n", "<leader>b", "<cmd>Telescope buffers<CR>", { desc = "Buffers" })
|
|
|
|
-- toggle term
|
|
vim.keymap.set("n", "<leader>c", "<cmd>ToggleTermToggleAll<CR>", { desc = "Toggle All Terminals" })
|
|
vim.keymap.set("n", "<C-s>", "<cmd>ToggleTermToggleAll<CR>", { desc = "Toggle All Terminal" })
|
|
vim.keymap.set("t", "<C-s>", "<cmd>ToggleTermToggleAll<CR>", { desc = "Toggle All Terminal" })
|
|
-- vim.keymap.set("n", "<leader>C", "<cmd>ToggleTerm<CR>")
|
|
vim.keymap.set("n", "<leader>C", ":ToggleTerm<CR>", { desc = "Toggle Terminal" })
|
|
|
|
-- frequent actions
|
|
vim.keymap.set("n", "<leader>ac", "<cmd>Telescope find_files cwd=~/.config/nvim<CR>", { desc = "Find Config Files" })
|
|
vim.keymap.set("n", "<leader>an", "<cmd>NoNeckPain<CR>", { desc = "No Neck Pain" })
|
|
vim.keymap.set("n", "<leader>ag", "<cmd>Neogit<CR>", { desc = "Neogit" })
|
|
vim.keymap.set("n", "<leader>af", "<cmd>NvimTreeFindFile<CR>", { desc = "Find File In File Manager" })
|
|
vim.keymap.set("n", "<leader>am", function()
|
|
require("maximize").toggle()
|
|
end, { desc = "Maximize" })
|
|
vim.keymap.set("n", "<leader>ar", function()
|
|
require("gitlab").review()
|
|
end, { desc = "Gitlab Review" })
|
|
|
|
-- telescope
|
|
vim.keymap.set("n", "<leader>tt", "<cmd>Telescope<CR>", { desc = "Telescope" })
|
|
vim.keymap.set("n", "<leader>tw", "<cmd>Telescope lsp_dynamic_workspace_symbols<CR>", { desc = "Workspace Symbols" })
|
|
vim.keymap.set("n", "<leader>to", "<cmd>Telescope oldfiles<CR>", { desc = "Old Files" })
|
|
vim.keymap.set("n", "<leader>tg", "<cmd>Telescope live_grep<CR>", { desc = "Grep" })
|
|
vim.keymap.set("n", "<leader>ts", "<cmd>Telescope treesitter<CR>", { desc = "Tree Sitter" })
|
|
vim.keymap.set("n", "<leader>td", "<cmd>Telescope lsp_document_symbols<CR>", { desc = "Document Symbols" })
|
|
|
|
-- dev
|
|
vim.keymap.set("n", "<leader>gd", "<cmd>Telescope lsp_definitions<CR>", { desc = "Go To Definition" })
|
|
vim.keymap.set("n", "<leader>gi", "<cmd>Telescope lsp_implementations<CR>", { desc = "Go To Implementations" })
|
|
vim.keymap.set("n", "<leader>gr", "<cmd>Telescope lsp_references<CR>", { desc = "Go To References" })
|
|
vim.keymap.set("n", "<leader>gq", "<cmd>Telescope diagnostics<CR>", { desc = "Show Diagnostics" })
|
|
vim.keymap.set("n", "<leader>gs", "<cmd>LspRestart<CR>", { desc = "Restart LSP" })
|
|
vim.keymap.set("n", "<leader>gf", "<cmd>Format<CR>", { desc = "Format" })
|
|
vim.keymap.set("n", "<leader>ge", function() vim.diagnostic.open_float() end , { desc = "Show Diagnostic" })
|
|
vim.keymap.set("n", "<leader>gE", "<cmd>Trouble diagnostics<CR>", { desc = "Toggle Trouble" })
|
|
vim.keymap.set("n", "<leader>ga", function()
|
|
vim.lsp.buf.code_action()
|
|
end, { desc = "Code Actions" })
|
|
vim.keymap.set("n", "<leader>gD", function()
|
|
vim.lsp.buf.declaration()
|
|
end, { desc = "Go To Declaration" })
|
|
vim.keymap.set("n", "<leader>gk", function()
|
|
vim.lsp.buf.hover()
|
|
end, { desc = "Hover" })
|
|
vim.keymap.set("n", "<leader>gt", function()
|
|
vim.lsp.buf.type_definition()
|
|
end, { desc = "Go To Type Definition" })
|
|
vim.keymap.set("n", "<leader>gn", function()
|
|
vim.lsp.buf.rename()
|
|
end, { desc = "Rename" })
|
|
|
|
-- vcs
|
|
vim.keymap.set("n", "<leader>vs", function()
|
|
require("gitsigns").stage_hunk()
|
|
end, { desc = "Stage Hunk" })
|
|
vim.keymap.set("n", "<leader>vr", function()
|
|
require("gitsigns").reset_hunk()
|
|
end, { desc = "Reset Hunk" })
|
|
vim.keymap.set("v", "<leader>vs", function()
|
|
require("gitsigns").stage_hunk({ vim.fn.line("."), vim.fn.line("v") })
|
|
end, { desc = "Stage Hunk" })
|
|
vim.keymap.set("v", "<leader>vr", function()
|
|
require("gitsigns").reset_hunk({ vim.fn.line("."), vim.fn.line("v") })
|
|
end, { desc = "Reset Hunk" })
|
|
vim.keymap.set("n", "<leader>va", function()
|
|
require("gitsigns").stage_buffer()
|
|
end, { desc = "Stage Buffer" })
|
|
vim.keymap.set("n", "<leader>vu", function()
|
|
require("gitsigns").undo_stage_hunk()
|
|
end, { desc = "Undo Stage Hunk" })
|
|
vim.keymap.set("n", "<leader>vx", function()
|
|
require("gitsigns").reset_buffer()
|
|
end, { desc = "Reset Buffer" })
|
|
vim.keymap.set("n", "<leader>vp", function()
|
|
require("gitsigns").preview_hunk()
|
|
end, { desc = "Preview Hunk" })
|
|
vim.keymap.set("n", "<leader>vb", function()
|
|
require("gitsigns").blame_line({ full = true })
|
|
end, { desc = "Blame Line" })
|
|
vim.keymap.set("n", "<leader>vB", function()
|
|
require("gitsigns").toggle_current_line_blame()
|
|
end, { desc = "Toggle Blame" })
|
|
vim.keymap.set("n", "<leader>vt", function()
|
|
require("gitsigns").toggle_deleted()
|
|
end, { desc = "Toggle Deleted" })
|
|
vim.keymap.set("n", "<leader>vd", "<cmd>DiffviewToggle<CR>", { desc = "Diff" })
|
|
|
|
-- neotest
|
|
vim.keymap.set("n", "<leader>na", function()
|
|
require("neotest").run.attach()
|
|
end, { desc = "Attach Tests" })
|
|
vim.keymap.set("n", "<leader>nf", function()
|
|
require("neotest").run.run(vim.fn.expand("%"))
|
|
end, { desc = "Run Buffer Tests" })
|
|
vim.keymap.set("n", "<leader>nF", function()
|
|
require("neotest").run.run({ vim.fn.expand("%"), strategy = "dap" })
|
|
end, { desc = "Debug Buffer Tests" })
|
|
vim.keymap.set("n", "<leader>nl", function()
|
|
require("neotest").run.run_last()
|
|
end, { desc = "Run Last Tests" })
|
|
vim.keymap.set("n", "<leader>nL", function()
|
|
require("neotest").run.run_last({ strategy = "dap" })
|
|
end, { desc = "Debug Last Test" })
|
|
vim.keymap.set("n", "<leader>nn", function()
|
|
require("neotest").run.run()
|
|
end, { desc = "Run All Tests" })
|
|
vim.keymap.set("n", "<leader>nN", function()
|
|
require("neotest").run.run({ strategy = "dap" })
|
|
end, { desc = "Debug All Tests" })
|
|
vim.keymap.set("n", "<leader>no", function()
|
|
require("neotest").output.open({ enter = true })
|
|
end, { desc = "Show Output" })
|
|
vim.keymap.set("n", "<leader>nS", function()
|
|
require("neotest").run.stop()
|
|
end, { desc = "Stop Tests" })
|
|
vim.keymap.set("n", "<leader>ns", function()
|
|
require("neotest").summary.toggle()
|
|
end, { desc = "Toggle Summary" })
|
|
|
|
-- telekasten
|
|
vim.keymap.set("n", "<leader>z", function()
|
|
require("telekasten").panel()
|
|
end, { desc = "Telekasten" })
|
|
|
|
-- refactoring
|
|
vim.keymap.set("n", "<leader>rv", function()
|
|
require("refactoring").debug.print_var({ normal = true })
|
|
end, { desc = "Add Debug Pring" })
|
|
vim.keymap.set("n", "<leader>rc", function()
|
|
require("refactoring").debug.cleanup()
|
|
end, { desc = "Cleanup" })
|
|
vim.keymap.set("v", "<leader>rr", function()
|
|
require("refactoring").select_refactor()
|
|
end, { desc = "Select Refactor" })
|
|
|
|
-- neogen
|
|
vim.keymap.set("n", "<leader>rn", function()
|
|
require("neogen").generate()
|
|
end, { desc = "Add Documentation" })
|
|
|
|
-- dap
|
|
vim.keymap.set("n", "<leader>dc", function()
|
|
require("dap").continue()
|
|
end, { desc = "Continue" })
|
|
vim.keymap.set("n", "<leader>dn", function()
|
|
require("dap").step_over()
|
|
end, { desc = "Step Over" })
|
|
vim.keymap.set("n", "<leader>di", function()
|
|
require("dap").step_into()
|
|
end, { desc = "Step Into" })
|
|
vim.keymap.set("n", "<leader>do", function()
|
|
require("dap").step_out()
|
|
end, { desc = "Step Out" })
|
|
vim.keymap.set("n", "<leader>db", function()
|
|
require("dap").toggle_breakpoint()
|
|
end, { desc = "Toggle Breakpoint" })
|
|
vim.keymap.set("n", "<leader>dr", function()
|
|
require("dap").repl.open()
|
|
end, { desc = "Open Repl" })
|
|
vim.keymap.set("n", "<leader>dl", function()
|
|
require("dap").run_last()
|
|
end, { desc = "Run Last" })
|
|
vim.keymap.set("n", "<leader>dq", function()
|
|
require("dap").close()
|
|
end, { desc = "Quit Debug" })
|