summary refs log tree commit diff
path: root/.vim/plugin/keymaps.lua
diff options
context:
space:
mode:
authorRobert Günzler <r@gnzler.io>2024-11-25 13:30:37 +0100
committerRobert Günzler <r@gnzler.io>2024-11-25 13:58:25 +0100
commit23de12baba9fbfc4ca24581b37c374aa5345cc25 (patch)
treee4b3c421bad572eb85a1089eaad44dc3059ab6e6 /.vim/plugin/keymaps.lua
parent18e3848110da0a59843058927ea04b496f5db2a5 (diff)
update nvim config
Signed-off-by: Robert Günzler <r@gnzler.io>
Diffstat (limited to '.vim/plugin/keymaps.lua')
-rw-r--r--.vim/plugin/keymaps.lua29
1 files changed, 29 insertions, 0 deletions
diff --git a/.vim/plugin/keymaps.lua b/.vim/plugin/keymaps.lua
new file mode 100644
index 0000000..c48b1d7
--- /dev/null
+++ b/.vim/plugin/keymaps.lua
@@ -0,0 +1,29 @@
+local set = vim.keymap.set
+
+set('n', 'gb', '<cmd>bnext<cr>', { desc = 'Next buffer' })
+set('n', 'gB', '<cmd>bprevious<cr>', { desc = 'Prev buffer' })
+
+set('n', ';yp', function()
+  local payload = (vim.fn.expand('%:p') .. ':' .. vim.fn.line('.'))
+  vim.fn.setreg('+', payload)
+  vim.notify(payload)
+end, { desc = 'Yank current buffer path and line number' })
+set('n', ';yP', function()
+  local payload = vim.fn.expand('%:p')
+  vim.fn.setreg('+', payload)
+  vim.notify(payload)
+end, { desc = 'Yank current buffer path' })
+set('n', ';yn', function()
+  local payload = vim.fs.basename(vim.fn.expand('%:p'))
+  vim.fn.setreg('+', payload)
+  vim.notify(payload)
+end, { desc = 'Yank current buffer name' })
+
+set('t', '<esc>', [[ <c-\><c-n> ]], { desc = 'Terminal: Exit INSERT mode' })
+
+set('v', '<', '<gv', { desc = 'indent' })
+set('v', '>', '>gv', { desc = 'outdent' })
+
+set('n', '<s-esc>', '<cmd>nohlsearch<cr>', { desc = 'Clear search highlights' })
+set('n', '<tab>', '<cmd>normal! za<cr>', { desc = 'Toggle fold under cursor' })
+set('n', '<s-tab>', '<cmd>normal! zA<cr>', { desc = 'Toggle fold under cursor (recursive)' })