summaryrefslogtreecommitdiff
path: root/lua/config/keymaps.lua
diff options
context:
space:
mode:
Diffstat (limited to 'lua/config/keymaps.lua')
-rw-r--r--lua/config/keymaps.lua28
1 files changed, 28 insertions, 0 deletions
diff --git a/lua/config/keymaps.lua b/lua/config/keymaps.lua
new file mode 100644
index 0000000..96dff5e
--- /dev/null
+++ b/lua/config/keymaps.lua
@@ -0,0 +1,28 @@
+-- no op leader key
+vim.keymap.set("n", "<SPACE>", "<Nop>", { desc = "nop leader key" })
+
+-- keep page dwn + up centered
+vim.keymap.set("n", "<C-u>", "<C-u>zz", { desc = "center page up" })
+vim.keymap.set("n", "<C-d>", "<C-d>zz", { desc = "center page down" })
+
+-- keep searching dwn + up centered
+vim.keymap.set("n", "n", "nzzzv", { desc = "center searching" })
+vim.keymap.set("n", "N", "Nzzzv", { desc = "center searching" })
+
+-- clear search highlight
+vim.keymap.set("n", "<Esc>", "<CMD>nohlsearch<CR>", { desc = "clear search highlights" })
+
+-- diagnostics
+vim.keymap.set("n", "<leader>dD", function() vim.diagnostic.setqflist() end, { desc = "Diagnostics: workspace" })
+vim.keymap.set("n", "<leader>dd", function() vim.diagnostic.setloclist() end, { desc = "Diagnostics: file" })
+
+-- Remap for dealing with word wrap
+vim.keymap.set('n', 'k', "v:count == 0 ? 'gk' : 'k'", { expr = true, silent = true })
+vim.keymap.set('n', 'j', "v:count == 0 ? 'gj' : 'j'", { expr = true, silent = true })
+
+-- Diagnostic keymaps
+vim.keymap.set('n', '[d', vim.diagnostic.goto_prev, { desc = 'Go to previous diagnostic message' })
+vim.keymap.set('n', ']d', vim.diagnostic.goto_next, { desc = 'Go to next diagnostic message' })
+vim.keymap.set('n', '<leader>t', vim.diagnostic.open_float, { desc = 'Open floating diagnostic message' })
+vim.keymap.set('n', '<leader>q', vim.diagnostic.setloclist, { desc = 'Open diagnostics list' })
+