diff options
Diffstat (limited to '.config/nvim/lua/config/keymaps.lua')
| -rw-r--r-- | .config/nvim/lua/config/keymaps.lua | 36 |
1 files changed, 36 insertions, 0 deletions
diff --git a/.config/nvim/lua/config/keymaps.lua b/.config/nvim/lua/config/keymaps.lua new file mode 100644 index 0000000..9c00f7b --- /dev/null +++ b/.config/nvim/lua/config/keymaps.lua @@ -0,0 +1,36 @@ +local map = vim.keymap.set + +map('n', 'gb', '<cmd>bnext<cr>', { desc = 'Buffer next' }) +map('n', 'gB', '<cmd>bprevious<cr>', { desc = 'Buffer prev' }) + +map('n', '<a-j>', '<cmd>cnext<cr>', { desc = 'Quickfix next' }) +map('n', '<a-k>', '<cmd>cprev<cr>', { desc = 'Quickfix prev' }) + +map('v', '<', '<gv', { desc = 'Indent' }) +map('v', '>', '>gv', { desc = 'Outdent' }) + +map('t', '<esc>', [[ <c-\><c-n> ]], { desc = 'Terminal: Exit INSERT mode' }) + +map( + 'n', + 'gx', + '<cmd>lua vim.ui.open(vim.fn.expand("<cfile>"))<cr>', + { desc = 'Open file under cursor' } +) + +vim.api.nvim_create_autocmd({'BufEnter', 'BufWinEnter'}, { + group = vim.api.nvim_create_augroup('bufclose', {}), + callback = function() + if vim.list_contains({'help', 'nofile', 'quickfix'}, vim.bo.buftype) then + map('', 'q', '<cmd>close<cr>', { desc = 'Close buffer', buffer = 0 }) + end + end, +}) + +map('n', '<leader><leader>x', function() + local file = vim.fn.expand('%') + vim.cmd.source(file) + vim.notify('** sourced ' .. file, vim.log.levels.INFO) +end, { desc = 'source current file' }) + +map('n', '<leader>a', '<cmd>edit #<cr>', { desc = 'open alternative file' }) |