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) -- 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('build') end) vim.keymap.set('n', 'em', 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)