vim: simplify keymap setting
This commit is contained in:
parent
fbae8f83fc
commit
3ad4f78e65
1 changed files with 37 additions and 39 deletions
|
@ -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 { '>', '><cr>gv' }
|
||||
vmap { '<', '<<cr>gv' }
|
||||
map('v', '>', '><cr>gv')
|
||||
map('v', '<', '<<cr>gv')
|
||||
|
||||
-- easier window navigation
|
||||
nmap { '<c-j>', '<c-w>j' }
|
||||
nmap { '<c-k>', '<c-w>k' }
|
||||
nmap { '<c-h>', '<c-w>h' }
|
||||
nmap { '<c-l>', '<c-w>l' }
|
||||
map('n', '<c-j>', '<c-w>j')
|
||||
map('n', '<c-k>', '<c-w>k')
|
||||
map('n', '<c-h>', '<c-w>h')
|
||||
map('n', '<c-l>', '<c-w>l')
|
||||
|
||||
-- window resizing
|
||||
nmap { '<Up>', '<cmd>resize +1<cr>' }
|
||||
nmap { '<Down>', '<cmd>resize -1<cr>' }
|
||||
nmap { '<Left>', '<cmd>vertical resize -1<cr>' }
|
||||
nmap { '<Right>', '<cmd>vertical resize +1<cr>' }
|
||||
map('n', '<Up>', '<cmd>resize +1<cr>')
|
||||
map('n', '<Down>', '<cmd>resize -1<cr>')
|
||||
map('n', '<Left>', '<cmd>vertical resize -1<cr>')
|
||||
map('n', '<Right>', '<cmd>vertical resize +1<cr>')
|
||||
|
||||
-- easy tab navigation
|
||||
nmap { '<leader>.', '<cmd>tabnext<cr>', { silent = true } }
|
||||
nmap { '<leader>,', '<cmd>tabprevious<cr>', { silent = true } }
|
||||
map('n', '<leader>.', '<cmd>tabnext<cr>', { silent = true })
|
||||
map('n', '<leader>,', '<cmd>tabprevious<cr>', { silent = true })
|
||||
|
||||
-- move lines up and down
|
||||
nmap { '<c-a-j>', [[:move .+1<cr>==]] , { silent = true } }
|
||||
nmap { '<c-a-k>', [[:move .-2<cr>==]] , { silent = true } }
|
||||
vmap { '<c-a-j>', [[:move '>+1<cr>gv=gv]], { silent = true } }
|
||||
vmap { '<c-a-k>', [[:move '<-2<cr>gv=gv]], { silent = true } }
|
||||
imap { '<c-a-j>', [[<esc>:move .+1<cr>==gi]] , { silent = true } }
|
||||
imap { '<c-a-k>', [[<esc>:move .-2<cr>==gi]] , { silent = true } }
|
||||
map('n', '<c-a-j>', [[:move .+1<cr>==]], { silent = true })
|
||||
map('n', '<c-a-k>', [[:move .-2<cr>==]], { silent = true })
|
||||
map('v', '<c-a-j>', [[:move '>+1<cr>gv=gv]], { silent = true })
|
||||
map('v', '<c-a-k>', [[:move '<-2<cr>gv=gv]], { silent = true })
|
||||
map('i', '<c-a-j>', [[<esc>:move .+1<cr>==gi]], { silent = true })
|
||||
map('i', '<c-a-k>', [[<esc>:move .-2<cr>==gi]], { silent = true })
|
||||
|
||||
-- move to begin/end of line in insert mode
|
||||
imap { '<c-a>', '<c-o>^' }
|
||||
imap { '<c-e>', '<c-o>$' }
|
||||
map('i', '<c-a>', '<c-o>^')
|
||||
map('i', '<c-e>', '<c-o>$')
|
||||
|
||||
-- navigate items in quickfix list
|
||||
nmap { '<leader>j', '<cmd>cnext<cr>', { silent = true } }
|
||||
nmap { '<leader>k', '<cmd>cprevious<cr>', { silent = true } }
|
||||
map('n', '<leader>j', '<cmd>cnext<cr>',{ silent = true })
|
||||
map('n', '<leader>k', '<cmd>cprevious<cr>', { silent = true })
|
||||
|
||||
-- cycle through line numbering modes
|
||||
nmap { '<leader>ln', '<cmd>set nonumber norelativenumber<CR>' , { silent = true } }
|
||||
nmap { '<leader>ll', '<cmd>set number norelativenumber<CR>' , { silent = true } }
|
||||
nmap { '<leader>lr', '<cmd>set number relativenumber<CR>' , { silent = true } }
|
||||
map('n', '<leader>ln', '<cmd>set nonumber norelativenumber<CR>', { silent = true })
|
||||
map('n', '<leader>ll', '<cmd>set number norelativenumber<CR>', { silent = true })
|
||||
map('n', '<leader>lr', '<cmd>set number relativenumber<CR>', { silent = true })
|
||||
|
||||
-- show/hide listchars
|
||||
nmap { '<leader>sl', '<cmd>set list!<CR>', { silent = true } }
|
||||
map('n', '<leader>sl', '<cmd>set list!<CR>', { silent = true })
|
||||
|
||||
-- quickly change background
|
||||
nmap { '<leader>bg', [[<cmd>let &background = &background ==? 'light' ? 'dark' : 'light'<cr>]] }
|
||||
map('n', '<leader>bg', [[<cmd>let &background = &background ==? 'light' ? 'dark' : 'light'<cr>]])
|
||||
|
||||
-- disable highlight until next search
|
||||
nmap { '<leader>h', '<cmd>nohlsearch<cr>' }
|
||||
map('n', '<leader>h', '<cmd>nohlsearch<cr>')
|
||||
|
||||
-- edit configuration files
|
||||
nmap { '<leader>eg', '<cmd>tabedit ~/.config/git/config<cr>' }
|
||||
nmap { '<leader>et', '<cmd>tabedit ~/.config/tmux/tmux.conf<cr>' }
|
||||
nmap { '<leader>ev', '<cmd>tabedit ~/.config/nvim/init.lua<cr>' }
|
||||
nmap { '<leader>es', '<cmd>tabedit ~/.config/nvim/spell/en.utf-8.add<cr>' }
|
||||
nmap { '<leader>ez', '<cmd>tabedit ~/.config/zsh/.zshrc<cr>' }
|
||||
map('n', '<leader>eg', '<cmd>tabedit ~/.config/git/config<cr>')
|
||||
map('n', '<leader>et', '<cmd>tabedit ~/.config/tmux/tmux.conf<cr>')
|
||||
map('n', '<leader>ev', '<cmd>tabedit ~/.config/nvim/init.lua<cr>')
|
||||
map('n', '<leader>es', '<cmd>tabedit ~/.config/nvim/spell/en.utf-8.add<cr>')
|
||||
map('n', '<leader>ez', '<cmd>tabedit ~/.config/zsh/.zshrc<cr>')
|
||||
|
||||
-- show syntax highlight groups for symbol under the cursor
|
||||
nmap { '<leader>ss', '<cmd>lua require"fs.util".syntax_stack()<cr>' }
|
||||
map('n', '<leader>ss', '<cmd>lua require"fs.util".syntax_stack()<cr>')
|
||||
|
||||
|
|
Loading…
Add table
Reference in a new issue