From 3ad4f78e65041d90bc66ebc6404c964b22966b6b Mon Sep 17 00:00:00 2001 From: Fernando Schauenburg Date: Wed, 12 Oct 2022 22:11:42 +0200 Subject: [PATCH] vim: simplify keymap setting --- config/nvim/lua/fs/keymaps.lua | 76 +++++++++++++++++----------------- 1 file changed, 37 insertions(+), 39 deletions(-) diff --git a/config/nvim/lua/fs/keymaps.lua b/config/nvim/lua/fs/keymaps.lua index f1915a4..23a9a04 100644 --- a/config/nvim/lua/fs/keymaps.lua +++ b/config/nvim/lua/fs/keymaps.lua @@ -1,68 +1,66 @@ -local nmap = function(tbl) vim.keymap.set('n', tbl[1], tbl[2], tbl[3]) end -local imap = function(tbl) vim.keymap.set('i', tbl[1], tbl[2], tbl[3]) end -local vmap = function(tbl) vim.keymap.set('v', tbl[1], tbl[2], tbl[3]) end +local map = vim.keymap.set -- better navigation for wrapped lines -nmap { 'j', 'gj' } -nmap { 'k', 'gk' } +map('n', 'j', 'gj') +map('n', 'k', 'gk') -- retain selection when indenting/unindenting in visual mode -vmap { '>', '>gv' } -vmap { '<', '<gv' } +map('v', '>', '>gv') +map('v', '<', '<gv') -- easier window navigation -nmap { '', 'j' } -nmap { '', 'k' } -nmap { '', 'h' } -nmap { '', 'l' } +map('n', '', 'j') +map('n', '', 'k') +map('n', '', 'h') +map('n', '', 'l') -- window resizing -nmap { '', 'resize +1' } -nmap { '', 'resize -1' } -nmap { '', 'vertical resize -1' } -nmap { '', 'vertical resize +1' } +map('n', '', 'resize +1') +map('n', '', 'resize -1') +map('n', '', 'vertical resize -1') +map('n', '', 'vertical resize +1') -- easy tab navigation -nmap { '.', 'tabnext', { silent = true } } -nmap { ',', 'tabprevious', { silent = true } } +map('n', '.', 'tabnext', { silent = true }) +map('n', ',', 'tabprevious', { silent = true }) -- move lines up and down -nmap { '', [[:move .+1==]] , { silent = true } } -nmap { '', [[:move .-2==]] , { silent = true } } -vmap { '', [[:move '>+1gv=gv]], { silent = true } } -vmap { '', [[:move '<-2gv=gv]], { silent = true } } -imap { '', [[:move .+1==gi]] , { silent = true } } -imap { '', [[:move .-2==gi]] , { silent = true } } +map('n', '', [[:move .+1==]], { silent = true }) +map('n', '', [[:move .-2==]], { silent = true }) +map('v', '', [[:move '>+1gv=gv]], { silent = true }) +map('v', '', [[:move '<-2gv=gv]], { silent = true }) +map('i', '', [[:move .+1==gi]], { silent = true }) +map('i', '', [[:move .-2==gi]], { silent = true }) -- move to begin/end of line in insert mode -imap { '', '^' } -imap { '', '$' } +map('i', '', '^') +map('i', '', '$') -- navigate items in quickfix list -nmap { 'j', 'cnext', { silent = true } } -nmap { 'k', 'cprevious', { silent = true } } +map('n', 'j', 'cnext',{ silent = true }) +map('n', 'k', 'cprevious', { silent = true }) -- cycle through line numbering modes -nmap { 'ln', 'set nonumber norelativenumber' , { silent = true } } -nmap { 'll', 'set number norelativenumber' , { silent = true } } -nmap { 'lr', 'set number relativenumber' , { silent = true } } +map('n', 'ln', 'set nonumber norelativenumber', { silent = true }) +map('n', 'll', 'set number norelativenumber', { silent = true }) +map('n', 'lr', 'set number relativenumber', { silent = true }) -- show/hide listchars -nmap { 'sl', 'set list!', { silent = true } } +map('n', 'sl', 'set list!', { silent = true }) -- quickly change background -nmap { 'bg', [[let &background = &background ==? 'light' ? 'dark' : 'light']] } +map('n', 'bg', [[let &background = &background ==? 'light' ? 'dark' : 'light']]) -- disable highlight until next search -nmap { 'h', 'nohlsearch' } +map('n', 'h', 'nohlsearch') -- edit configuration files -nmap { 'eg', 'tabedit ~/.config/git/config' } -nmap { 'et', 'tabedit ~/.config/tmux/tmux.conf' } -nmap { 'ev', 'tabedit ~/.config/nvim/init.lua' } -nmap { 'es', 'tabedit ~/.config/nvim/spell/en.utf-8.add' } -nmap { 'ez', 'tabedit ~/.config/zsh/.zshrc' } +map('n', 'eg', 'tabedit ~/.config/git/config') +map('n', 'et', 'tabedit ~/.config/tmux/tmux.conf') +map('n', 'ev', 'tabedit ~/.config/nvim/init.lua') +map('n', 'es', 'tabedit ~/.config/nvim/spell/en.utf-8.add') +map('n', 'ez', 'tabedit ~/.config/zsh/.zshrc') -- show syntax highlight groups for symbol under the cursor -nmap { 'ss', 'lua require"fs.util".syntax_stack()' } +map('n', 'ss', 'lua require"fs.util".syntax_stack()')