local map = vim.api.nvim_set_keymap local noremap = function(ctx, keys, cmd, opts) opts = opts or {} opts['noremap'] = true opts['silent'] = true map(ctx, keys, cmd, opts) end local nnoremap = function(keys, cmd) noremap('n', keys, cmd, nil) end local tnoremap = function(keys, cmd) noremap('t', keys, cmd, nil) end local vnoremap = function(keys, cmd) noremap('v', keys, cmd, nil) end -- For plugin-specific keymaps, see that plugin's file in lua/plugins/ map('i', 'jj', '', {}) nnoremap('q', ':bp|bd #') nnoremap('w', ':w') nnoremap('n', ':bn') nnoremap('b', ':bp') nnoremap('', '') nnoremap('', '') nnoremap('', '') nnoremap('', '') tnoremap('', '') tnoremap('', '') tnoremap('', '') tnoremap('', '') tnoremap('', '') vnoremap('J', ':m \'>+1gv=gv') vnoremap('K', ':m \'<-2gv=gv') nnoremap('ee', ':NvimTreeFindFileToggle') vnoremap('/', ':Commentary') -- golang error handling nnoremap('err', 'oif err != nil {return nil, err}kkI')