local cf = require('custom_functions') vim.g.mapleader = ',' -- Standard keybinding options local options = { noremap = true } -- Block tab/untab without leaving visual mode vim.keymap.set('v', '<', '', '>gv', options) -- Visual selection can be moved up and down vim.keymap.set('v', 'J', ':m \'>+1gv=gv') vim.keymap.set('v', 'K', ':m \'<-2gv=gv') -- Sort selected lines alphabetically, descending vim.keymap.set('v', 's', ':sort', options) -- Move between panes in Neovim vim.keymap.set('n', '', 'j', options) vim.keymap.set('n', '', 'k', options) vim.keymap.set('n', '', 'h', options) vim.keymap.set('n', '', 'l', options) vim.keymap.set('n', 'wj', 'j', options) vim.keymap.set('n', 'wk', 'k', options) vim.keymap.set('n', 'wh', 'h', options) vim.keymap.set('n', 'wl', 'l', options) -- Increment and decrement under the cursor vim.keymap.set('n', '+', '') vim.keymap.set('v', '+', '') vim.keymap.set('n', '-', '') vim.keymap.set('v', '-', '') -- Don't move the cursor when appending the following line to the current vim.keymap.set('n', 'J', 'mzJ`z') -- Switch or close buffers in the window vim.keymap.set('n', 'n', ':bn', options) vim.keymap.set('n', 'p', ':bp', options) vim.keymap.set('n', 'd', ':bp|bd #', options) -- Toggle spellcheck vim.keymap.set('n', 's', ':set spell!', options) -- Quick exit from Insert mode vim.keymap.set('i', 'jk', '', options) -- Toggle display of whitespace chars vim.keymap.set('n', 'w', ':set list!', options) -- Folding the section under the cursor vim.keymap.set('n', '', 'za') -- Keymaps for custom functions vim.keymap.set('n', 'et', function() cf.execute('test') end) vim.keymap.set('n', 'er', function() cf.execute('run') end) vim.keymap.set('n', 'eb', function() cf.execute('benchmark') end) vim.keymap.set('n', 'eo', ':Lexplore', options) vim.keymap.set('n', 'rn', ':%s///g', options) vim.keymap.set('n', 'l', ':Lazy', options)