refactor(nvim): major keybindings overhaul

This commit is contained in:
Price Hiller 2022-09-17 17:18:37 -05:00
parent 99bf63b2ce
commit 406c5b5dbc

View File

@ -5,111 +5,156 @@ if not loaded then
end end
-- Telescope mappings -- Telescope mappings
vim.keymap.set("n", "<Leader>tw", ":Telescope live_grep<CR>") vim.keymap.set("n", "<Leader>tw", ":Telescope live_grep<CR>", { silent = true, desc = "Telescope: Grep for Word" })
vim.keymap.set("n", "<Leader>tgs", ":Telescope git_status<CR>") vim.keymap.set("n", "<Leader>tgs", ":Telescope git_status<CR>", { silent = true, desc = "Telescope: Git Status" })
vim.keymap.set("n", "<Leader>tgc", ":Telescope git_commits<CR>") vim.keymap.set("n", "<Leader>tgc", ":Telescope git_commits<CR>", { silent = true, desc = "Telescope: Git Commits" })
vim.keymap.set("n", "<Leader>tgb", ":Telescope git_branches<CR>") vim.keymap.set("n", "<Leader>tgb", ":Telescope git_branches<CR>", { silent = true, desc = "Telescope: Git Branches" })
vim.keymap.set("n", "<Leader>tf", ":Telescope find_files<CR>") vim.keymap.set("n", "<Leader>tf", ":Telescope find_files<CR>", { silent = true, desc = "Telescope: Find Files" })
vim.keymap.set("n", "<Leader>td", ":Telescope find_directories<CR>") vim.keymap.set(
vim.keymap.set("n", "<Leader>tb", ":Telescope buffers<CR>") "n",
vim.keymap.set("n", "<Leader>th", ":Telescope help_tags<CR>") "<Leader>td",
vim.keymap.set("n", "<Leader>to", ":Telescope oldfiles<CR>") ":Telescope find_directories<CR>",
vim.keymap.set("n", "<leader>tc", ":Telescope neoclip default<CR>") { silent = true, desc = "Telescope: Find Directories" }
vim.keymap.set("n", "<leader>tr", ":Telescope registers<CR>") )
vim.keymap.set("n", "<leader>tt", ":Telescope file_browser<CR>") vim.keymap.set("n", "<Leader>tb", ":Telescope buffers<CR>", { silent = true, desc = "Telescope: Buffers" })
vim.keymap.set("n", "<leader>ts", ":Telescope spell_suggest<CR>") vim.keymap.set("n", "<Leader>th", ":Telescope help_tags<CR>", { silent = true, desc = "Telescope: Help Tags" })
vim.keymap.set("n", "<leader>tl", ":Telescope resume<CR>") vim.keymap.set("n", "<Leader>to", ":Telescope oldfiles<CR>", { silent = true, desc = "Telescope: Recent Files" })
vim.keymap.set("n", "<leader>tT", ":TodoTelescope<CR>") vim.keymap.set(
"n",
"<leader>tn",
":Telescope neoclip default<CR>",
{ silent = true, desc = "Telescope: Neoclip Buffer" }
)
vim.keymap.set("n", "<leader>tr", ":Telescope registers<CR>", { silent = true, desc = "Telescope: Registers" })
vim.keymap.set("n", "<leader>tt", ":Telescope file_browser<CR>", { silent = true, desc = "Telescope: File Tree" })
vim.keymap.set("n", "<leader>ts", ":Telescope spell_suggest<CR>", { silent = true, desc = "Telescope: Spell Suggest" })
vim.keymap.set("n", "<leader>tl", ":Telescope resume<CR>", { silent = true, desc = "Telescope: Previous State" })
vim.keymap.set("n", "<leader>tT", ":TodoTelescope<CR>", { silent = true, desc = "Telescope: Todo Items" })
vim.keymap.set("n", "<leader>tk", ":Telescope keymaps<CR>", { silent = true, desc = "Telescope: Keymaps" })
vim.keymap.set("n", "<leader>tc", ":Telescope commands<CR>", { silent = true, desc = "Telescope: Commands" })
-- Lsp Mappings -- Lsp Mappings
vim.keymap.set("n", "<leader>lD", ":lua vim.lsp.buf.declaration()<CR>") vim.keymap.set("n", "<leader>lD", vim.lsp.buf.declaration, { silent = true, desc = "LSP: Declaration" })
vim.keymap.set("n", "<leader>ld", ":lua vim.lsp.buf.definition()<CR>") vim.keymap.set("n", "<leader>ld", vim.lsp.buf.definition, { silent = true, desc = "LSP: Definition" })
vim.keymap.set("n", "<leader>k", ":lua vim.lsp.buf.hover()<CR>") vim.keymap.set("n", "<leader>k", vim.lsp.buf.hover, { silent = true, desc = "LSP: Hover" })
vim.keymap.set("n", "<leader>K", ":lua vim.lsp.buf.signature_help()<CR>") vim.keymap.set("n", "<leader>K", vim.lsp.buf.signature_help, { silent = true, desc = "LSP: Sig Help" })
vim.keymap.set("n", "<leader>li", ":lua vim.lsp.buf.implementation()<CR>") vim.keymap.set("n", "<leader>li", vim.lsp.buf.implementation, { silent = true, desc = "LSP: Implementation" })
vim.keymap.set("n", "<leader>la", ":lua vim.lsp.buf.add_workspace_folder()<CR>") vim.keymap.set(
vim.keymap.set("n", "<leader>lx", ":lua vim.lsp.buf.remove_workspace_folder()<CR>") "n",
vim.keymap.set("n", "<leader>ll", ":lua print(vim.inspect(vim.lsp.buf.list_workspace_folders()))<CR>") "<leader>la",
vim.keymap.set("n", "<leader>ln", ":IncRename ") vim.lsp.buf.add_workspace_folder,
vim.keymap.set("n", "<leader>lc", ":lua vim.lsp.buf.code_action()<CR>") { silent = true, desc = "LSP: Add Workspace Folder" }
vim.keymap.set("n", "<leader>lr", ":lua vim.lsp.buf.references()<CR>") )
vim.keymap.set("n", "<leader>lR", ":LspRestart<CR>") vim.keymap.set(
vim.keymap.set("n", "<leader>ls", ":lua vim.diagnostic.open_float(nil, {focus=false, scope='cursor'})<CR>") "n",
vim.keymap.set("n", "<leader>lf", ":lua vim.lsp.buf.format({ async = true })<CR>") "<leader>lx",
vim.keymap.set("n", "[l", ":lua vim.diagnostic.goto_prev()<CR>") vim.lsp.buf.remove_workspace_folder,
vim.keymap.set("n", "]l", ":lua vim.diagnostic.goto_next()<CR>") { silent = true, desc = "LSP: Remove Workspace Folder" }
vim.keymap.set("n", "<leader>lq", ":Telescope diagnostics bufnr=0<CR>") )
vim.keymap.set("n", "<leader>ll", function()
local output_workspaces = ""
for _, workspace in ipairs(vim.lsp.buf.list_workspace_folders()) do
output_workspaces = string.format("%s- %s\n", output_workspaces, vim.inspect(workspace):gsub('%"', ""))
end
vim.notify(output_workspaces:gsub("\n[^\n]*$", ""), "info", { title = "LSP: Workspaces" })
end, { silent = true, desc = "LSP: List Workspaces" })
vim.keymap.set("n", "<leader>ln", function() end, { silent = true })
vim.keymap.set("n", "<leader>ln", ":IncRename ", { desc = "LSP: Rename" })
vim.keymap.set("n", "<leader>lc", vim.lsp.buf.code_action, { silent = true, desc = "LSP: Code Action" })
vim.keymap.set("n", "<leader>lr", vim.lsp.buf.references, { silent = true, desc = "LSP: References" })
vim.keymap.set("n", "<leader>lR", ":LspRestart<CR>", { silent = true, desc = "LSP: Restart" })
vim.keymap.set("n", "<leader>ls", function()
vim.diagnostic.open_float(nil, { focus = false, scope = "cursor" })
end, { silent = true, desc = "LSP: Diagnostic Open Float" })
vim.keymap.set("n", "<leader>lf", function()
vim.lsp.buf.format({ async = true })
end, { silent = true, desc = "LSP: Format" })
vim.keymap.set("n", "[l", vim.diagnostic.goto_prev, { silent = true, desc = "LSP: Diagnostic Previous" })
vim.keymap.set("n", "]l", vim.diagnostic.goto_next, { silent = true, desc = "LSP: Diagnostic Next" })
vim.keymap.set(
"n",
"<leader>lq",
":Telescope diagnostics bufnr=0<CR>",
{ silent = true, desc = "LSP: Telescope Diagnostics" }
)
vim.keymap.set("n", "<leader>lt", function() vim.keymap.set("n", "<leader>lt", function()
local virtual_lines_enabled = not vim.diagnostic.config().virtual_lines local virtual_lines_enabled = not vim.diagnostic.config().virtual_lines
vim.diagnostic.config({ virtual_lines = virtual_lines_enabled, virtual_text = not virtual_lines_enabled }) vim.diagnostic.config({ virtual_lines = virtual_lines_enabled, virtual_text = not virtual_lines_enabled })
end, { end, {
desc = "Toggle LSP Diag Style", desc = "LSP: Toggle Diagnostic Style",
}) })
-- Trouble mappings
vim.keymap.set("n", "<leader>lT", ":TroubleToggle<CR>")
-- Formatter -- Formatter
vim.keymap.set("n", "<leader>nf", ":Neoformat<CR>") vim.keymap.set("n", "<leader>nf", ":Neoformat<CR>", { silent = true, desc = "Neoformat" })
-- DAP Mappings -- DAP Mappings
vim.keymap.set("n", "<leader>dR", ':lua require("dap").continue()<CR>') local dap = require("dap")
vim.keymap.set("n", "<leader>de", ':lua require("dap").terminate()<CR>') vim.keymap.set("n", "<leader>dc", dap.continue, { silent = true, desc = "DAP: Continue" })
vim.keymap.set("n", "<leader>db", ':lua require("dap").toggle_breakpoint()<CR>') vim.keymap.set("n", "<leader>de", dap.terminate, { silent = true, desc = "DAP: Terminate" })
vim.keymap.set("n", "<leader>dr", ":lua require(\"dap\").set_breakpoint(vim.fn.input('Breakpoint condition: '))<CR>") vim.keymap.set("n", "<leader>db", dap.toggle_breakpoint, { silent = true, desc = "DAP: Toggle Breakpoint" })
vim.keymap.set( vim.keymap.set("n", "<leader>dr", function()
"n", dap.set_breakpoint(vim.fn.input("Breakpoint Condition: "))
"<leader>dp", end, { silent = true, desc = "DAP: Set Conditional Breakpoint" })
":lua require(\"dap\").set_breakpoint(nil, nil, vim.fn.input('Log point message: '))<CR>"
) vim.keymap.set("n", "<leader>dp", function()
vim.keymap.set("n", "<F5>", ':lua require("dap").step_over()<CR>') dap.set_breakpoint(nil, nil, vim.fn.input("Log point message: "))
vim.keymap.set("n", "<F6>", ':lua require("dap").step_into()<CR>') end, { silent = true, desc = "DAP: Set Log Breakpoint" })
vim.keymap.set("n", "<F7>", ':lua require("dap").step_out()<CR>') vim.keymap.set("n", "<F5>", dap.step_over, { silent = true, desc = "DAP: Step Over" })
vim.keymap.set("n", "<leader>dB", ':lua require("dap").step_back()<CR>') vim.keymap.set("n", "<F6>", dap.step_into, { silent = true, desc = "DAP: Step Into" })
vim.keymap.set("n", "<leader>dc", ':lua require("dap").run_to_cursor()<CR>') vim.keymap.set("n", "<F7>", dap.step_out, { silent = true, desc = "DAP: Step Out" })
vim.keymap.set("n", "<leader>do", ':lua require("dap").repl.open()<CR>') vim.keymap.set("n", "<F8>", dap.step_back, { silent = true, desc = "DAP: Step Back" })
vim.keymap.set("n", "<leader>dt", ':lua require("dapui").toggle()<CR>') vim.keymap.set("n", "<leader>dR", dap.run_to_cursor, { silent = true, desc = "DAP: Run to Cursor" })
vim.keymap.set("n", "<leader>dl", ':lua require("dap").run_last()<CR>') vim.keymap.set("n", "<leader>do", dap.repl.open, { silent = true, desc = "DAP: Open Repl" })
vim.keymap.set("n", "<leader>dt", require("dapui").toggle, { silent = true, desc = "DAP: Toggle UI" })
vim.keymap.set("n", "<leader>dl", dap.run_last, { silent = true, desc = "DAP: Run Last" })
-- Comments -- Comments
vim.keymap.set("n", "<leader>/", ":CommentToggle<CR>") vim.keymap.set("n", "<leader>/", ":CommentToggle<CR>", { silent = true, desc = "Toggle Comment" })
vim.keymap.set("v", "<leader>/", ":'<,'>CommentToggle<CR>") vim.keymap.set("v", "<leader>/", ":'<,'>CommentToggle<CR>", { silent = true, desc = "Toggle Selection Comment" })
-- Bufferline mappings -- Bufferline mappings
vim.keymap.set("n", "<A-a>", ":BufferLineCyclePrev<CR>") vim.keymap.set("n", "<A-a>", ":BufferLineCyclePrev<CR>", { silent = true, desc = "Go to Previous Buffer" })
vim.keymap.set("n", "<A-s>", ":BufferLineCycleNext<CR>") vim.keymap.set("n", "<A-s>", ":BufferLineCycleNext<CR>", { silent = true, desc = "Go to Next Buffer" })
vim.keymap.set("n", "<A-x>", ":lua require('utils.funcs').close_buffer()<CR>") vim.keymap.set("n", "<A-x>", require("utils.funcs").close_buffer, { silent = true, desc = "Close Buffer" })
-- Vim Notify Mappings -- Vim Notify Mappings
vim.keymap.set("n", "<leader>nv", ":lua require('telescope').extensions.notify.notify()<CR>") vim.keymap.set(
vim.keymap.set("n", "<leader>nd", ":lua require('notify').dismiss()<CR>") "n",
"<leader>nv",
require("telescope").extensions.notify.notify,
{ silent = true, desc = "Notifications: Search" }
)
vim.keymap.set("n", "<leader>nd", require("notify").dismiss, { silent = true, desc = "Notifications: Dismiss" })
-- Whichkey Mappings -- Whichkey Mappings
vim.keymap.set("n", "<leader>ww", ":WhichKey<CR>") vim.keymap.set("n", "<leader>ww", ":WhichKey<CR>", { silent = true, desc = "Show Keybinds" })
vim.keymap.set("n", "<leader>wk", ":Telescope keymaps<CR>")
vim.keymap.set("n", "<leader>wc", ":Telescope commands<CR>")
-- Neogen Mappings -- Neogen Mappings
vim.keymap.set("n", "<leader>ng", ":Neogen<CR>") vim.keymap.set("n", "<leader>ngf", ":Neogen func<CR>", { silent = true, desc = "Neogen: Function Annotation" })
vim.keymap.set("n", "<leader>ngc", ":Neogen class<CR>", { silent = true, desc = "Neogen: Class Annotation" })
vim.keymap.set("n", "<leader>ngt", ":Neogen type<CR>", { silent = true, desc = "Neogen: Type Annotation" })
vim.keymap.set("n", "<leader>ngb", ":Neogen file<CR>", { silent = true, desc = "Neogen: File Annotation" })
-- Nvim Tree Mappings -- Nvim Tree Mappings
vim.keymap.set("n", "<leader>nt", ":Neotree show toggle focus<cr>") vim.keymap.set("n", "<leader>nt", ":Neotree show toggle focus<cr>", { silent = true, desc = "Neotree: Toggle" })
-- Plenary Mappings -- Plenary Mappings
vim.keymap.set("n", "<leader>pt", "<Plug>PlenaryTestFile", {}) vim.keymap.set("n", "<leader>pt", "<Plug>PlenaryTestFile", { silent = true, desc = "Plenary: Test File" })
-- Zenmode Mappings
vim.keymap.set("n", "<leader>zm", ":ZenMode<CR>")
-- Neogit Mappings -- Neogit Mappings
vim.keymap.set("n", "<leader>gg", ":Neogit<CR>") vim.keymap.set("n", "<leader>gg", ":Neogit<CR>", { silent = true, desc = "Neogit: Open" })
-- Gitsigns Mappings -- Gitsigns Mappings
vim.keymap.set("n", "]g", "<cmd>Gitsigns next_hunk<CR>") vim.keymap.set("n", "]g", "<cmd>Gitsigns next_hunk<CR><CR>", { silent = true, desc = "Gitsigns: Next Hunk" })
vim.keymap.set("n", "[g", "<cmd>Gitsigns prev_hunk<CR>") vim.keymap.set("n", "[g", "<cmd>Gitsigns prev_hunk<CR><CR>", { silent = true, desc = "Gitsigns: Prev Hunk" })
vim.keymap.set("n", "<leader>gs", "<cmd>Gitsigns stage_hunk<CR>") vim.keymap.set("n", "<leader>gs", "<cmd>Gitsigns stage_hunk<CR>", { silent = true, desc = "Gitsigns: Stage Hunk" })
vim.keymap.set("n", "<leader>gr", "<cmd>Gitsigns reset_hunk<CR>") vim.keymap.set("n", "<leader>gr", "<cmd>Gitsigns reset_hunk<CR>", { silent = true, desc = "Gitsigns: Reset Hunk" })
vim.keymap.set("n", "<leader>gu", "<cmd>Gitsigns undo_stage_hunk<CR>") vim.keymap.set(
"n",
"<leader>gu",
"<cmd>Gitsigns undo_stage_hunk<CR>",
{ silent = true, desc = "Gitsigns: Unstage Hunk" }
)
-- Packer Mappings -- Packer Mappings
local packer = require("packer") local packer = require("packer")
@ -130,16 +175,15 @@ local packer_compile = function()
end end
vim.keymap.set("n", "<leader>ps", packer_sync, { vim.keymap.set("n", "<leader>ps", packer_sync, {
desc = "PackerSync", silent = true,
desc = "Packer: Sync",
}) })
vim.keymap.set("n", "<leader>pc", packer_compile, { vim.keymap.set("n", "<leader>pc", packer_compile, {
desc = "PackerCompile", silent = true,
desc = "Packer: Compile",
}) })
-- Mundo mappings
vim.keymap.set("n", "<leader>ut", ":MundoToggle<CR>")
-- Hop Mappings -- Hop Mappings
local hop = require("hop") local hop = require("hop")
@ -147,14 +191,14 @@ vim.keymap.set("", "f", function()
hop.hint_char1({ hop.hint_char1({
current_line_only = false, current_line_only = false,
}) })
end) end, { silent = true, desc = "Hop: Character" })
-- Hop Bindings -- Hop Bindings
vim.keymap.set("", ";l", "<cmd>HopLineStart<CR>") vim.keymap.set("", ";l", "<cmd>HopLineStart<CR>", { silent = true, desc = "Hop: Line Start" })
vim.keymap.set("", ";s", "<cmd>HopPattern<CR>") vim.keymap.set("", ";s", "<cmd>HopPattern<CR>", { silent = true, desc = "Hop: Pattern" })
vim.keymap.set("", ";;", "<cmd>HopWord<CR>") vim.keymap.set("", ";;", "<cmd>HopWord<CR>", { silent = true, desc = "Hop: Word" })
vim.keymap.set("", ";a", "<cmd>HopAnywhere<CR>") vim.keymap.set("", ";a", "<cmd>HopAnywhere<CR>", { silent = true, desc = "Hop: Anywhere" })
vim.keymap.set("", ";v", "<cmd>HopVertical<CR>") vim.keymap.set("", ";v", "<cmd>HopVertical<CR>", { silent = true, desc = "Hop Vertical" })
-- Term/Open bindings -- Term/Open bindings
vim.keymap.set("n", "<leader><leader>", "<cmd>ToggleTerm<CR>") vim.keymap.set("n", "<leader><leader>", "<cmd>ToggleTerm<CR>", { silent = true, desc = "Toggle Terminal" })