diff options
Diffstat (limited to '')
| -rw-r--r-- | .vim/plugin/keymaps.lua | 29 |
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)' }) |