summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorThomas Vanbesien <tvanbesi@proton.me>2026-06-07 14:15:31 +0200
committerThomas Vanbesien <tvanbesi@proton.me>2026-06-07 14:15:31 +0200
commit6194e53bfe88c94b7eb50b53638abbdeed3991bf (patch)
tree69ffeb26cbf076b4f56b1d57106e165199e3bc4d
parent7cba96266c028eded4c7afa2c364a90fe4bd793e (diff)
downloaddotfiles-6194e53bfe88c94b7eb50b53638abbdeed3991bf.tar.gz
dotfiles-6194e53bfe88c94b7eb50b53638abbdeed3991bf.zip
misc(nvim): update key mappings
-rw-r--r--.config/nvim/init.lua34
1 files changed, 24 insertions, 10 deletions
diff --git a/.config/nvim/init.lua b/.config/nvim/init.lua
index efc6e23..94d2bbf 100644
--- a/.config/nvim/init.lua
+++ b/.config/nvim/init.lua
@@ -107,13 +107,9 @@ vim.api.nvim_create_user_command("DiffOrig", show_buf_diff_orig, { desc = "Show
-- Keymaps (there's more in the different plugins)
------------------------------------------------------------------------------------------------------------------------
-- See `:help key-notation` and `:help <Cmd>`
+-- `:map \ ` to see (most) user set keymaps (those starting with the `<Leader>` key)
-- Miscellaneous
-vim.keymap.set("n", "<Leader>s", "<Cmd>update<CR>", { desc = "Save buffer" })
-vim.keymap.set("n", "<Leader>be", reload_buffer, { desc = "Reload buffer" })
-vim.keymap.set("n", "<Leader>bd", "<Cmd>bdelete<CR>", { desc = "Delete current buffer" })
-vim.keymap.set("n", "<Leader>bb", "<Cmd>close<CR>", { desc = "Delete current window" })
-vim.keymap.set("n", "<Leader>bw", toggle_wrap, { desc = "Toggle text wrap" })
vim.keymap.set("n", "<M-z>", "zA", { desc = "Toggle fold (recursively) under cursor" })
vim.keymap.set("n", "ZR", vim.cmd.SessionRestart, { desc = "Save and load default session and restart" })
vim.keymap.set("n", "ZZ", vim.cmd.SessionExitSave, { desc = "Save to default session and exit" })
@@ -123,13 +119,20 @@ vim.keymap.set("n", "<Leader>mm", "<Cmd>messages<CR>", { desc = "Show all messag
vim.keymap.set("n", "<Leader>mc", "<Cmd>messages clear<CR>", { desc = "Clear all messages" })
vim.keymap.set("n", "<Leader>lh", vim.cmd.LspHintToggle, { desc = "Toggle inlay hints (LSP)" })
vim.keymap.set("n", "<Leader>y+", "<Cmd>let @+ = expand('%:p')<CR>", { desc = "Copy file path to clipboard" })
-vim.keymap.set("n", "<Leader>gb", vim.cmd.GitBlame, { desc = "Show git blame for current line" })
-- These two mappings work well together to start command mode and insert from history in two keystrokes.
vim.keymap.set("n", "<C-p>", ":", { desc = "Enter command mode" })
vim.keymap.set("c", "<C-p>", "<Up>", { desc = "Insert previous history entry" })
-- Navigate files
vim.keymap.set("n", "<M-e>", vim.cmd.GotoExplorer, { desc = "Open/close/focus netrw window" })
--- Navigate window
+-- Buffers
+vim.keymap.set("n", "<Leader>s", "<Cmd>update<CR>", { desc = "Save buffer" })
+vim.keymap.set("n", "<Leader>be", reload_buffer, { desc = "Reload buffer" })
+vim.keymap.set("n", "<Leader>bw", toggle_wrap, { desc = "Toggle text wrap" })
+vim.keymap.set("n", "<Leader>bd", "<Cmd>bdelete<CR>", { desc = "Delete buffer" })
+vim.keymap.set("n", "<Leader>bn", "<Cmd>enew<CR>", { desc = "Edit new buffer in current window" })
+vim.keymap.set("n", "<Leader>bs", "<Cmd>new<CR>", { desc = "Edit new buffer in split" })
+vim.keymap.set("n", "<Leader>bv", "<Cmd>vnew<CR>", { desc = "Edit new buffer in vertical split" })
+-- Windows
vim.keymap.set("n", "<M-h>", "<C-w>h", { desc = "Move left a window" })
vim.keymap.set("n", "<M-j>", "<C-w>j", { desc = "Move down a window" })
vim.keymap.set("n", "<M-k>", "<C-w>k", { desc = "Move up a window" })
@@ -138,14 +141,25 @@ vim.keymap.set("t", "<M-h>", "<C-\\><C-n><C-w>h", { desc = "Move left a window"
vim.keymap.set("t", "<M-j>", "<C-\\><C-n><C-w>j", { desc = "Move down a window" })
vim.keymap.set("t", "<M-k>", "<C-\\><C-n><C-w>k", { desc = "Move up a window" })
vim.keymap.set("t", "<M-l>", "<C-\\><C-n><C-w>l", { desc = "Move right a window" })
--- Create tabpage
+vim.keymap.set("n", "<Leader>wc", "<Cmd>close<CR>", { desc = "Close window" })
+vim.keymap.set("n", "<Leader>ws", "<Cmd>split<CR>", { desc = "Split window" })
+vim.keymap.set("n", "<Leader>wv", "<Cmd>vsplit<CR>", { desc = "Split window vertically" })
+vim.keymap.set("n", "<Leader>wr", "<C-W>r", { desc = "Rotate windows down/right" })
+vim.keymap.set("n", "<Leader>wR", "<C-W>R", { desc = "Rotate windows up/left" })
+vim.keymap.set("n", "<Leader>wx", "<C-W>x", { desc = "Exchange window with next one" })
+vim.keymap.set("n", "<Leader>w=", "<C-W>=", { desc = "Equalize windows" })
+vim.keymap.set("n", "<Leader>w+", "<C-W>+", { desc = "Increase window height" })
+vim.keymap.set("n", "<Leader>w-", "<C-W>-", { desc = "Decrease window height" })
+vim.keymap.set("n", "<Leader>w>", "<C-W>>", { desc = "Increase window width" })
+vim.keymap.set("n", "<Leader>w<", "<C-W><", { desc = "Decrease window width" })
+vim.keymap.set("n", "<Leader>w_", "<C-W>_", { desc = "Set window height" })
+vim.keymap.set("n", "<Leader>w|", "<C-W>|", { desc = "Set window width" })
+-- Tabpages
vim.keymap.set("n", "<M-t>", "<Cmd>tabnew<CR>", { desc = "Create new tabpage" })
vim.keymap.set("n", "<C-w>t", "<Cmd>tabclose<CR>", { desc = "Delete current tabpage" })
--- Navigate tab
vim.keymap.set({ "n", "i", "t" }, "<M-p>", "<Cmd>tabnext #<CR>", { desc = "Move to last accessed tab page" })
vim.keymap.set({ "n", "i", "t" }, "<M-n>", "<Cmd>tabnext<CR>", { desc = "Move to next tab page" })
vim.keymap.set({ "n", "i", "t" }, "<M-b>", "<Cmd>tabprevious<CR>", { desc = "Move to previous tab page" })
--- Move tab
vim.keymap.set("n", "<C-w>>", "<Cmd>tabmove +1<CR>", { desc = "Move tab to next position" })
vim.keymap.set("n", "<C-w><", "<Cmd>tabmove -1<CR>", { desc = "Move tab to next position" })
-- Scrolling