aboutsummaryrefslogtreecommitdiffhomepage
diff options
context:
space:
mode:
authornsfisis <nsfisis@gmail.com>2022-05-10 00:01:45 +0900
committernsfisis <nsfisis@gmail.com>2022-05-10 00:01:45 +0900
commit0deca75ad663c6c114817cbb3ca7ab6d9d87ab07 (patch)
tree19d500be3f5e60e8d00541695fa33353fab32b3a
parent213651779344f25a8fcce21784e4fbde24117d22 (diff)
downloaddotfiles-0deca75ad663c6c114817cbb3ca7ab6d9d87ab07.tar.gz
dotfiles-0deca75ad663c6c114817cbb3ca7ab6d9d87ab07.tar.zst
dotfiles-0deca75ad663c6c114817cbb3ca7ab6d9d87ab07.zip
neovim: refactor keymapping
-rw-r--r--.config/nvim/init.lua527
-rw-r--r--.config/nvim/lua/vimrc.lua69
-rw-r--r--TODO5
3 files changed, 255 insertions, 346 deletions
diff --git a/.config/nvim/init.lua b/.config/nvim/init.lua
index 8ffe9bd..ffc42b4 100644
--- a/.config/nvim/init.lua
+++ b/.config/nvim/init.lua
@@ -292,152 +292,145 @@ vimrc.register_filetype_autocmds_for_indentation()
-- Searching {{{2
-- Fix direction of n and N.
-vimrc.map('', 'n', "v:searchforward ? 'n' : 'N'", { expr = true })
-vimrc.map('', 'N', "v:searchforward ? 'N' : 'n'", { expr = true })
+vim.keymap.set('', 'n', "v:searchforward ? 'n' : 'N'", { expr=true })
+vim.keymap.set('', 'N', "v:searchforward ? 'N' : 'n'", { expr=true })
-vimrc.map('', 'gn', "v:searchforward ? 'gn' : 'gN'", { expr = true })
-vimrc.map('', 'gN', "v:searchforward ? 'gN' : 'gn'", { expr = true })
+vim.keymap.set('', 'gn', "v:searchforward ? 'gn' : 'gN'", { expr=true })
+vim.keymap.set('', 'gN', "v:searchforward ? 'gN' : 'gn'", { expr=true })
-vimrc.map('n', '&', ':%&&<CR>', { silent = true })
-vimrc.map('x', '&', ':%&&<CR>', { silent = true })
+vim.keymap.set({'n', 'x'}, '&', '<Cmd>%&&<CR>')
-- Registers and macros. {{{2
-- Access an resister in the same way in Insert and Commandline mode.
-vimrc.map('n', '<C-r>', '"')
-vimrc.map('x', '<C-r>', '"')
+vim.keymap.set({'n', 'x'}, '<C-r>', '"')
F.setreg('j', 'j.')
F.setreg('k', 'k.')
F.setreg('n', 'n.')
F.setreg('m', 'N.')
-vimrc.map('n', '@N', '@m')
+vim.keymap.set('n', '@N', '@m')
-- Repeat the last executed macro as many times as possible.
-- a => all
-vimrc.map('n', '@a', '9999@@')
-vimrc.map('n', '@a', '9999@@')
+vim.keymap.set('n', '@a', '9999@@')
-- Execute the last executed macro again.
-vimrc.map('n', '`', '@@')
+vim.keymap.set('n', '`', '@@')
-- Emacs like key mappings in Insert and CommandLine mode. {{{2
-vimrc.map('i', '<C-d>', '<Del>')
+vim.keymap.set('i', '<C-d>', '<Del>')
-- Go elsewhere without deviding the undo history.
-vimrc.map('i', '<C-a>', "repeat('<C-g>U<Left>', col('.') - 1)", { expr = true })
-vimrc.map('i', '<C-e>', "repeat('<C-g>U<Right>', col('$') - col('.'))", { expr = true })
-vimrc.map('i', '<C-b>', '<C-g>U<Left>')
-vimrc.map('i', '<C-f>', '<C-g>U<Right>')
+vim.keymap.set('i', '<C-a>', "repeat('<C-g>U<Left>', col('.') - 1)", { expr=true })
+vim.keymap.set('i', '<C-e>', "repeat('<C-g>U<Right>', col('$') - col('.'))", { expr=true })
+vim.keymap.set('i', '<C-b>', '<C-g>U<Left>')
+vim.keymap.set('i', '<C-f>', '<C-g>U<Right>')
-- Delete something deviding the undo history.
-vimrc.map('i', '<C-u>', '<C-g>u<C-u>')
-vimrc.map('i', '<C-w>', '<C-g>u<C-w>')
+vim.keymap.set('i', '<C-u>', '<C-g>u<C-u>')
+vim.keymap.set('i', '<C-w>', '<C-g>u<C-w>')
-vimrc.map('c', '<C-a>', '<Home>')
-vimrc.map('c', '<C-e>', '<End>')
-vimrc.map('c', '<C-f>', '<Right>')
-vimrc.map('c', '<C-b>', '<Left>')
-vimrc.map('c', '<C-n>', '<Down>')
-vimrc.map('c', '<C-p>', '<Up>')
-vimrc.map('c', '<C-d>', '<Del>')
+vim.keymap.set('c', '<C-a>', '<Home>')
+vim.keymap.set('c', '<C-e>', '<End>')
+vim.keymap.set('c', '<C-f>', '<Right>')
+vim.keymap.set('c', '<C-b>', '<Left>')
+vim.keymap.set('c', '<C-n>', '<Down>')
+vim.keymap.set('c', '<C-p>', '<Up>')
+vim.keymap.set('c', '<C-d>', '<Del>')
-vimrc.map('c', '<Left>', '<Nop>')
-vimrc.map('i', '<Left>', '<Nop>')
-vimrc.map('c', '<Right>', '<Nop>')
-vimrc.map('i', '<Right>', '<Nop>')
+vim.keymap.set({'c', 'i'}, '<Left>', '<Nop>')
+vim.keymap.set({'c', 'i'}, '<Right>', '<Nop>')
-vimrc.map_expr('n', 'gA', function()
+vim.keymap.set('n', 'gA', function()
local line = F.getline('.')
if vim.endswith(line, ';;') then -- for OCaml
- return vimrc.term([[A<C-g>U<Left><C-g>U<Left>]])
+ return 'A<C-g>U<Left><C-g>U<Left>'
elseif vim.regex('[,;)]$'):match_str(line) then
- return vimrc.term([[A<C-g>U<Left>]])
+ return 'A<C-g>U<Left>'
else
return 'A'
end
-end)
+end, { expr=true, replace_keycodes=true })
-- QuickFix or location list. {{{2
-vimrc.map_cmd('n', 'bb', 'cc')
+vim.keymap.set('n', 'bb', '<Cmd>cc<CR>')
-vimrc.map('n', 'bn', ':<C-u><C-r>=v:count1<CR>cnext<CR>', { silent = true })
-vimrc.map('n', 'bp', ':<C-u><C-r>=v:count1<CR>cprevious<CR>', { silent = true })
+vim.keymap.set('n', 'bn', ':<C-u><C-r>=v:count1<CR>cnext<CR>', { silent = true })
+vim.keymap.set('n', 'bp', ':<C-u><C-r>=v:count1<CR>cprevious<CR>', { silent = true })
-vimrc.map_cmd('n', 'bf', 'cfirst')
-vimrc.map_cmd('n', 'bl', 'clast')
+vim.keymap.set('n', 'bf', '<Cmd>cfirst<CR>')
+vim.keymap.set('n', 'bl', '<Cmd>clast<CR>')
-vimrc.map_cmd('n', 'bS', 'colder')
-vimrc.map_cmd('n', 'bs', 'cnewer')
+vim.keymap.set('n', 'bS', '<Cmd>colder<CR>')
+vim.keymap.set('n', 'bs', '<Cmd>cnewer<CR>')
-- Operators {{{2
-- Throw deleted text into the black hole register ("_).
-vimrc.map('n', 'c', '"_c')
-vimrc.map('x', 'c', '"_c')
-vimrc.map('n', 'C', '"_C')
-vimrc.map('x', 'C', '"_C')
+vim.keymap.set({'n', 'x'}, 'c', '"_c')
+vim.keymap.set({'n', 'x'}, 'C', '"_C')
-vimrc.map('', 'g=', '=')
+vim.keymap.set('', 'g=', '=')
-vimrc.map('', 'ml', 'gu')
-vimrc.map('', 'mu', 'gU')
+vim.keymap.set('', 'ml', 'gu')
+vim.keymap.set('', 'mu', 'gU')
-vimrc.map('', 'gu', '<Nop>')
-vimrc.map('', 'gU', '<Nop>')
-vimrc.map('x', 'u', '<Nop>')
-vimrc.map('x', 'U', '<Nop>')
+vim.keymap.set('', 'gu', '<Nop>')
+vim.keymap.set('', 'gU', '<Nop>')
+vim.keymap.set('x', 'u', '<Nop>')
+vim.keymap.set('x', 'U', '<Nop>')
-vimrc.map('x', 'x', '"_x')
+vim.keymap.set('x', 'x', '"_x')
-vimrc.map('n', 'Y', 'y$')
+vim.keymap.set('n', 'Y', 'y$')
-- In Blockwise-Visual mode, select text linewise.
-- By default, select text characterwise, neither blockwise nor linewise.
-vimrc.map('x', 'Y', "mode() ==# 'V' ? 'y' : 'Vy'", { expr = true })
+vim.keymap.set('x', 'Y', "mode() ==# 'V' ? 'y' : 'Vy'", { expr=true })
-- Swap the keys entering Replace mode and Visual-Replace mode.
-vimrc.map('n', 'R', 'gR')
-vimrc.map('n', 'gR', 'R')
-vimrc.map('n', 'r', 'gr')
-vimrc.map('n', 'gr', 'r')
+vim.keymap.set('n', 'R', 'gR')
+vim.keymap.set('n', 'gR', 'R')
+vim.keymap.set('n', 'r', 'gr')
+vim.keymap.set('n', 'gr', 'r')
-vimrc.map('n', 'U', '<C-r>')
+vim.keymap.set('n', 'U', '<C-r>')
-- Motions {{{2
-vimrc.map('', 'H', '^')
-vimrc.map('', 'L', '$')
-vimrc.map('', 'M', '%')
+vim.keymap.set('', 'H', '^')
+vim.keymap.set('', 'L', '$')
+vim.keymap.set('', 'M', '%')
-vimrc.map('', 'gw', 'b')
-vimrc.map('', 'gW', 'B')
+vim.keymap.set('', 'gw', 'b')
+vim.keymap.set('', 'gW', 'B')
-vimrc.map('', 'k', 'gk')
-vimrc.map('', 'j', 'gj')
-vimrc.map('', 'gk', 'k')
-vimrc.map('', 'gj', 'j')
+vim.keymap.set('', 'k', 'gk')
+vim.keymap.set('', 'j', 'gj')
+vim.keymap.set('', 'gk', 'k')
+vim.keymap.set('', 'gj', 'j')
-vimrc.map('n', 'gff', 'gF')
+vim.keymap.set('n', 'gff', 'gF')
@@ -457,15 +450,6 @@ function vimrc.fn.move_current_window_to_tabpage()
end
-function vimrc.fn.bdelete_bang_with_confirm()
- if string.lower(vimrc.getchar_with_prompt('Delete? (y/n) ')) == 'y' then
- vim.cmd('bdelete!')
- else
- vimrc.echo('Canceled')
- end
-end
-
-
function vimrc.fn.choose_window_interactively()
local indicators = {
'A', 'S', 'D', 'F', 'G', 'H', 'J', 'K', 'L', ';',
@@ -548,64 +532,63 @@ function vimrc.fn.choose_window_interactively()
end
-vimrc.map('n', 'tt', ':<C-u>tabnew<CR>', { silent = true })
-vimrc.map('n', 'tT', ':<C-u>call v:lua.vimrc.fn.move_current_window_to_tabpage()<CR>', { silent = true })
+vim.keymap.set('n', 'tt', '<Cmd>tabnew<CR>')
+vim.keymap.set('n', 'tT', vimrc.fn.move_current_window_to_tabpage)
-vimrc.map('n', 'tn', ":<C-u><C-r>=(tabpagenr() + v:count1 - 1) % tabpagenr('$') + 1<CR>tabnext<CR>", { silent = true })
-vimrc.map('n', 'tp', ":<C-u><C-r>=(tabpagenr('$') * 10 + tabpagenr() - v:count1 - 1) % tabpagenr('$') + 1<CR>tabnext<CR>", { silent = true })
+vim.keymap.set('n', 'tn', ":<C-u><C-r>=(tabpagenr() + v:count1 - 1) % tabpagenr('$') + 1<CR>tabnext<CR>", { silent=true })
+vim.keymap.set('n', 'tp', ":<C-u><C-r>=(tabpagenr('$') * 10 + tabpagenr() - v:count1 - 1) % tabpagenr('$') + 1<CR>tabnext<CR>", { silent=true })
-vimrc.map('n', 'tN', ':<C-u>tabmove +<CR>', { silent = true })
-vimrc.map('n', 'tP', ':<C-u>tabmove -<CR>', { silent = true })
+vim.keymap.set('n', 'tN', '<Cmd>tabmove +<CR>')
+vim.keymap.set('n', 'tP', '<Cmd>tabmove -<CR>')
-vimrc.map('n', 'tsh', ':<C-u>leftabove vsplit<CR>', { silent = true })
-vimrc.map('n', 'tsj', ':<C-u>rightbelow split<CR>', { silent = true })
-vimrc.map('n', 'tsk', ':<C-u>leftabove split<CR>', { silent = true })
-vimrc.map('n', 'tsl', ':<C-u>rightbelow vsplit<CR>', { silent = true })
+vim.keymap.set('n', 'tsh', '<Cmd>leftabove vsplit<CR>')
+vim.keymap.set('n', 'tsj', '<Cmd>rightbelow split<CR>')
+vim.keymap.set('n', 'tsk', '<Cmd>leftabove split<CR>')
+vim.keymap.set('n', 'tsl', '<Cmd>rightbelow vsplit<CR>')
-vimrc.map('n', 'tsH', ':<C-u>topleft vsplit<CR>', { silent = true })
-vimrc.map('n', 'tsJ', ':<C-u>botright split<CR>', { silent = true })
-vimrc.map('n', 'tsK', ':<C-u>topleft split<CR>', { silent = true })
-vimrc.map('n', 'tsL', ':<C-u>botright vsplit<CR>', { silent = true })
+vim.keymap.set('n', 'tsH', '<Cmd>topleft vsplit<CR>')
+vim.keymap.set('n', 'tsJ', '<Cmd>botright split<CR>')
+vim.keymap.set('n', 'tsK', '<Cmd>topleft split<CR>')
+vim.keymap.set('n', 'tsL', '<Cmd>botright vsplit<CR>')
-vimrc.map('n', 'twh', ':<C-u>leftabove vnew<CR>', { silent = true })
-vimrc.map('n', 'twj', ':<C-u>rightbelow new<CR>', { silent = true })
-vimrc.map('n', 'twk', ':<C-u>leftabove new<CR>', { silent = true })
-vimrc.map('n', 'twl', ':<C-u>rightbelow vnew<CR>', { silent = true })
+vim.keymap.set('n', 'twh', '<Cmd>leftabove vnew<CR>')
+vim.keymap.set('n', 'twj', '<Cmd>rightbelow new<CR>')
+vim.keymap.set('n', 'twk', '<Cmd>leftabove new<CR>')
+vim.keymap.set('n', 'twl', '<Cmd>rightbelow vnew<CR>')
-vimrc.map('n', 'twH', ':<C-u>topleft vnew<CR>', { silent = true })
-vimrc.map('n', 'twJ', ':<C-u>botright new<CR>', { silent = true })
-vimrc.map('n', 'twK', ':<C-u>topleft new<CR>', { silent = true })
-vimrc.map('n', 'twL', ':<C-u>botright vnew<CR>', { silent = true })
+vim.keymap.set('n', 'twH', '<Cmd>topleft vnew<CR>')
+vim.keymap.set('n', 'twJ', '<Cmd>botright new<CR>')
+vim.keymap.set('n', 'twK', '<Cmd>topleft new<CR>')
+vim.keymap.set('n', 'twL', '<Cmd>botright vnew<CR>')
-vimrc.map('n', 'th', '<C-w>h')
-vimrc.map('n', 'tj', '<C-w>j')
-vimrc.map('n', 'tk', '<C-w>k')
-vimrc.map('n', 'tl', '<C-w>l')
+vim.keymap.set('n', 'th', '<C-w>h')
+vim.keymap.set('n', 'tj', '<C-w>j')
+vim.keymap.set('n', 'tk', '<C-w>k')
+vim.keymap.set('n', 'tl', '<C-w>l')
-vimrc.map('n', 'tH', '<C-w>H')
-vimrc.map('n', 'tJ', '<C-w>J')
-vimrc.map('n', 'tK', '<C-w>K')
-vimrc.map('n', 'tL', '<C-w>L')
+vim.keymap.set('n', 'tH', '<C-w>H')
+vim.keymap.set('n', 'tJ', '<C-w>J')
+vim.keymap.set('n', 'tK', '<C-w>K')
+vim.keymap.set('n', 'tL', '<C-w>L')
-vimrc.map('n', 'tx', '<C-w>x')
+vim.keymap.set('n', 'tx', '<C-w>x')
-- r => manual resize.
-- R => automatic resize.
-vimrc.map('n', 'tRH', '<C-w>_')
-vimrc.map('n', 'tRW', '<C-w><Bar>')
-vimrc.map('n', 'tRR', '<C-w>_<C-w><Bar>')
+vim.keymap.set('n', 'tRH', '<C-w>_')
+vim.keymap.set('n', 'tRW', '<C-w><Bar>')
+vim.keymap.set('n', 'tRR', '<C-w>_<C-w><Bar>')
-vimrc.map('n', 't=', '<C-w>=')
+vim.keymap.set('n', 't=', '<C-w>=')
-vimrc.map('n', 'tq', ':<C-u>bdelete<CR>', { silent = true })
-vimrc.map('n', 'tQ', ':<C-u>call v:lua.vimrc.fn.bdelete_bang_with_confirm()<CR>', { silent = true })
+vim.keymap.set('n', 'tq', '<Cmd>bdelete<CR>')
-vimrc.map('n', 'tc', '<C-w>c')
+vim.keymap.set('n', 'tc', '<C-w>c')
-vimrc.map('n', 'to', '<C-w>o')
-vimrc.map('n', 'tO', ':<C-u>tabonly<CR>', { silent = true })
+vim.keymap.set('n', 'to', '<C-w>o')
+vim.keymap.set('n', 'tO', '<Cmd>tabonly<CR>')
-vimrc.map('n', 'tg', ':<C-u>call v:lua.vimrc.fn.choose_window_interactively()<CR>', { silent = true })
+vim.keymap.set('n', 'tg', vimrc.fn.choose_window_interactively)
@@ -659,30 +642,30 @@ vim.api.nvim_create_user_command(
-- Toggle options {{{2
-vimrc.map('n', 'T', '<Nop>')
-
-vimrc.map('n', 'Ta', ':<C-u>AutosaveToggle<CR>', { silent = true })
-vimrc.map('n', 'Tb', ':<C-u>if &background == "dark" <Bar>set background=light <Bar>else <Bar>set background=dark <Bar>endif<CR>', { silent = true })
-vimrc.map('n', 'Tc', ':<C-u>set cursorcolumn! <Bar>set cursorline!<CR>', { silent = true })
-vimrc.map('n', 'Td', ':<C-u>if &diff <Bar>diffoff <Bar>else <Bar>diffthis <Bar>endif<CR>', { silent = true })
-vimrc.map('n', 'Te', ':<C-u>set expandtab!<CR>', { silent = true })
-vimrc.map('n', 'Th', ':<C-u>set hlsearch!<CR>', { silent = true })
-vimrc.map('n', 'Tn', ':<C-u>set number!<CR>', { silent = true })
-vimrc.map('n', 'Ts', ':<C-u>set spell!<CR>', { silent = true })
-vimrc.map('n', 'T8', ':<C-u>if &textwidth ==# 80 <Bar>set textwidth=0 <Bar>else <Bar>set textwidth=80 <Bar>endif<CR>', { silent = true })
-vimrc.map('n', 'T0', ':<C-u>if &textwidth ==# 100 <Bar>set textwidth=0 <Bar>else <Bar>set textwidth=100 <Bar>endif<CR>', { silent = true })
-vimrc.map('n', 'T2', ':<C-u>if &textwidth ==# 120 <Bar>set textwidth=0 <Bar>else <Bar>set textwidth=120 <Bar>endif<CR>', { silent = true })
-vimrc.map('n', 'Tw', ':<C-u>set wrap!<CR>', { silent = true })
-
-vimrc.remap('n', 'TA', 'Ta')
-vimrc.remap('n', 'TB', 'Tb')
-vimrc.remap('n', 'TC', 'Tc')
-vimrc.remap('n', 'TD', 'Td')
-vimrc.remap('n', 'TE', 'Te')
-vimrc.remap('n', 'TH', 'Th')
-vimrc.remap('n', 'TN', 'Tn')
-vimrc.remap('n', 'TS', 'Ts')
-vimrc.remap('n', 'TW', 'Tw')
+vim.keymap.set('n', 'T', '<Nop>')
+
+vim.keymap.set('n', 'Ta', '<Cmd>AutosaveToggle<CR>')
+vim.keymap.set('n', 'Tb', ':<C-u>if &background == "dark" <Bar>set background=light <Bar>else <Bar>set background=dark <Bar>endif<CR>', { silent=true })
+vim.keymap.set('n', 'Tc', ':<C-u>set cursorcolumn! <Bar>set cursorline!<CR>', { silent=true })
+vim.keymap.set('n', 'Td', ':<C-u>if &diff <Bar>diffoff <Bar>else <Bar>diffthis <Bar>endif<CR>', { silent=true })
+vim.keymap.set('n', 'Te', '<Cmd>set expandtab!<CR>')
+vim.keymap.set('n', 'Th', '<Cmd>set hlsearch!<CR>')
+vim.keymap.set('n', 'Tn', '<Cmd>set number!<CR>')
+vim.keymap.set('n', 'Ts', '<Cmd>set spell!<CR>')
+vim.keymap.set('n', 'T8', ':<C-u>if &textwidth ==# 80 <Bar>set textwidth=0 <Bar>else <Bar>set textwidth=80 <Bar>endif<CR>', { silent=true })
+vim.keymap.set('n', 'T0', ':<C-u>if &textwidth ==# 100 <Bar>set textwidth=0 <Bar>else <Bar>set textwidth=100 <Bar>endif<CR>', { silent=true })
+vim.keymap.set('n', 'T2', ':<C-u>if &textwidth ==# 120 <Bar>set textwidth=0 <Bar>else <Bar>set textwidth=120 <Bar>endif<CR>', { silent=true })
+vim.keymap.set('n', 'Tw', '<Cmd>set wrap!<CR>')
+
+vim.keymap.set('n', 'TA', 'Ta', { remap=true })
+vim.keymap.set('n', 'TB', 'Tb', { remap=true })
+vim.keymap.set('n', 'TC', 'Tc', { remap=true })
+vim.keymap.set('n', 'TD', 'Td', { remap=true })
+vim.keymap.set('n', 'TE', 'Te', { remap=true })
+vim.keymap.set('n', 'TH', 'Th', { remap=true })
+vim.keymap.set('n', 'TN', 'Tn', { remap=true })
+vim.keymap.set('n', 'TS', 'Ts', { remap=true })
+vim.keymap.set('n', 'TW', 'Tw', { remap=true })
@@ -744,40 +727,40 @@ vim.api.nvim_create_user_command(
}
)
-vimrc.map('n', '<Space>s', '<Cmd>Scratch<CR>', { silent = true })
+vim.keymap.set('n', '<Space>s', '<Cmd>Scratch<CR>')
-- Disable unuseful or dangerous mappings. {{{2
-- Disable Select mode.
-vimrc.map('n', 'gh', '<Nop>')
-vimrc.map('n', 'gH', '<Nop>')
-vimrc.map('n', 'g<C-h>', '<Nop>')
+vim.keymap.set('n', 'gh', '<Nop>')
+vim.keymap.set('n', 'gH', '<Nop>')
+vim.keymap.set('n', 'g<C-h>', '<Nop>')
-- Disable Ex mode.
-vimrc.map('n', 'Q', '<Nop>')
-vimrc.map('n', 'gQ', '<Nop>')
+vim.keymap.set('n', 'Q', '<Nop>')
+vim.keymap.set('n', 'gQ', '<Nop>')
-vimrc.map('n', 'ZZ', '<Nop>')
-vimrc.map('n', 'ZQ', '<Nop>')
+vim.keymap.set('n', 'ZZ', '<Nop>')
+vim.keymap.set('n', 'ZQ', '<Nop>')
-- Help {{{2
-- Search help.
-vimrc.map('n', '<C-h>', ':<C-u>SmartOpen help<Space>')
+vim.keymap.set('n', '<C-h>', ':<C-u>SmartOpen help<Space>')
-- For writing Vim script. {{{2
-vimrc.map('n', 'XV', ':<C-u>SmartTabEdit $MYVIMRC<CR>', { silent = true })
+vim.keymap.set('n', 'XV', '<Cmd>SmartTabEdit $MYVIMRC<CR>')
-- See |numbered-function|.
-vimrc.map('n', 'XF', ':<C-u>function {<C-r>=v:count<CR>}<CR>', { silent = true })
+vim.keymap.set('n', 'XF', ':<C-u>function {<C-r>=v:count<CR>}<CR>', { silent=true })
-vimrc.map('n', 'XM', ':<C-u>messages<CR>', { silent = true })
+vim.keymap.set('n', 'XM', '<Cmd>messages<CR>')
@@ -796,25 +779,25 @@ vimrc.iabbrev('tihs', 'this')
-- Misc. {{{2
-vimrc.map('o', 'gv', ':<C-u>normal! gv<CR>', { silent = true })
+vim.keymap.set('o', 'gv', ':<C-u>normal! gv<CR>', { silent=true })
-- Swap : and ;.
-vimrc.map('n', ';', ':')
-vimrc.map('n', ':', ';')
-vimrc.map('x', ';', ':')
-vimrc.map('x', ':', ';')
-vimrc.map('n', '@;', '@:')
-vimrc.map('x', '@;', '@:')
-vimrc.map('!', '<C-r>;', '<C-r>:')
+vim.keymap.set('n', ';', ':')
+vim.keymap.set('n', ':', ';')
+vim.keymap.set('x', ';', ':')
+vim.keymap.set('x', ':', ';')
+vim.keymap.set('n', '@;', '@:')
+vim.keymap.set('x', '@;', '@:')
+vim.keymap.set('!', '<C-r>;', '<C-r>:')
-- Since <ESC> may be mapped to something else somewhere, it should be :map, not
-- :noremap.
-vimrc.remap('!', 'jk', '<ESC>')
+vim.keymap.set('!', 'jk', '<ESC>', { remap=true })
-vimrc.map('n', '<C-c>', ':<C-u>nohlsearch<CR>', { silent = true })
+vim.keymap.set('n', '<C-c>', ':<C-u>nohlsearch<CR>', { silent=true })
@@ -824,23 +807,23 @@ function vimrc.map_callbacks.insert_blank_line(offset)
end
end
-vimrc.map('n', '<Plug>(my-insert-blank-lines-after)',
+vim.keymap.set('n', '<Plug>(my-insert-blank-lines-after)',
'call v:lua.vimrc.map_callbacks.insert_blank_line(0)')
-vimrc.map('n', '<Plug>(my-insert-blank-lines-before)',
+vim.keymap.set('n', '<Plug>(my-insert-blank-lines-before)',
'call v:lua.vimrc.map_callbacks.insert_blank_line(1)')
-vimrc.map_plug('n', 'go', '(my-insert-blank-lines-after)')
-vimrc.map_plug('n', 'gO', '(my-insert-blank-lines-before)')
+vim.keymap.set('n', 'go', '<Plug>(my-insert-blank-lines-after)')
+vim.keymap.set('n', 'gO', '<Plug>(my-insert-blank-lines-before)')
-vimrc.map('n', '<Space>w', '<Cmd>update<CR>')
+vim.keymap.set('n', '<Space>w', '<Cmd>update<CR>')
-vimrc.map('n', 'Z', '<Cmd>wqall<CR>', { nowait = true })
+vim.keymap.set('n', 'Z', '<Cmd>wqall<CR>', { nowait = true })
-- `s` is used as a prefix key of plugin sandwich and hop.
-vimrc.map('n', 's', '<Nop>')
-vimrc.map('x', 's', '<Nop>')
+vim.keymap.set('n', 's', '<Nop>')
+vim.keymap.set('x', 's', '<Nop>')
-- Commands {{{1
@@ -1274,7 +1257,7 @@ F['altr#define']('%.c', '%.cpp', '%.cc', '%.h', '%.hh', '%.hpp')
F['altr#define']('autoload/%.vim', 'doc/%.txt', 'plugin/%.vim')
-- Go to File Alternative
-vimrc.map_plug('n', 'gfa', '(altr-forward)')
+vim.keymap.set('n', 'gfa', '<Plug>(altr-forward)')
@@ -1316,14 +1299,14 @@ xmap <expr> g# My_asterisk('<Plug>(asterisk-gz*)', 1)
G.caw_no_default_keymappings = true
-vimrc.map_plug('n', 'm//', '(caw:hatpos:toggle)')
-vimrc.map_plug('x', 'm//', '(caw:hatpos:toggle)')
-vimrc.map_plug('n', 'm/w', '(caw:wrap:comment)')
-vimrc.map_plug('x', 'm/w', '(caw:wrap:comment)')
-vimrc.map_plug('n', 'm/W', '(caw:wrap:uncomment)')
-vimrc.map_plug('x', 'm/W', '(caw:wrap:uncomment)')
-vimrc.map_plug('n', 'm/b', '(caw:box:comment)')
-vimrc.map_plug('x', 'm/b', '(caw:box:comment)')
+vim.keymap.set('n', 'm//', '<Plug>(caw:hatpos:toggle)')
+vim.keymap.set('x', 'm//', '<Plug>(caw:hatpos:toggle)')
+vim.keymap.set('n', 'm/w', '<Plug>(caw:wrap:comment)')
+vim.keymap.set('x', 'm/w', '<Plug>(caw:wrap:comment)')
+vim.keymap.set('n', 'm/W', '<Plug>(caw:wrap:uncomment)')
+vim.keymap.set('x', 'm/W', '<Plug>(caw:wrap:uncomment)')
+vim.keymap.set('n', 'm/b', '<Plug>(caw:box:comment)')
+vim.keymap.set('x', 'm/b', '<Plug>(caw:box:comment)')
@@ -1361,8 +1344,8 @@ end
-- easyalign {{{2
-vimrc.map_plug('n', '=', '(EasyAlign)')
-vimrc.map_plug('x', '=', '(EasyAlign)')
+vim.keymap.set('n', '=', '<Plug>(EasyAlign)')
+vim.keymap.set('x', '=', '<Plug>(EasyAlign)')
@@ -1514,47 +1497,47 @@ function vimrc.map_callbacks.hop_jk(opts)
)
end
-vimrc.map('', '<Plug>(hop-f)', "<Cmd>lua require('hop').hint_char1({ direction = require('hop.hint').HintDirection.AFTER_CURSOR, current_line_only = true })<CR>", { silent = true })
-vimrc.map('', '<Plug>(hop-F)', "<Cmd>lua require('hop').hint_char1({ direction = require('hop.hint').HintDirection.BEFORE_CURSOR, current_line_only = true })<CR>", { silent = true })
-vimrc.map('', '<Plug>(hop-t)', "<Cmd>lua require('hop').hint_char1({ direction = require('hop.hint').HintDirection.AFTER_CURSOR, current_line_only = true })<CR>", { silent = true })
-vimrc.map('', '<Plug>(hop-T)', "<Cmd>lua require('hop').hint_char1({ direction = require('hop.hint').HintDirection.BEFORE_CURSOR, current_line_only = true })<CR>", { silent = true })
-
-vimrc.map('', '<Plug>(hop-s2)', "<Cmd>lua require('hop').hint_char2()<CR>", { silent = true })
-vimrc.map('', '<Plug>(hop-n)', "<Cmd>lua require('hop').hint_patterns({ direction = require('hop.hint').HintDirection.AFTER_CURSOR }, vim.fn.getreg('/'))<CR>", { silent = true })
-vimrc.map('', '<Plug>(hop-N)', "<Cmd>lua require('hop').hint_patterns({ direction = require('hop.hint').HintDirection.BEFORE_CURSOR }, vim.fn.getreg('/'))<CR>", { silent = true })
-vimrc.map('', '<Plug>(hop-j)', "<Cmd>lua vimrc.map_callbacks.hop_jk({ direction = require('hop.hint').HintDirection.AFTER_CURSOR })<CR>", { silent = true })
-vimrc.map('', '<Plug>(hop-k)', "<Cmd>lua vimrc.map_callbacks.hop_jk({ direction = require('hop.hint').HintDirection.BEFORE_CURSOR })<CR>", { silent = true })
-
-vimrc.map_plug('n', 'f', '(hop-f)')
-vimrc.map_plug('o', 'f', '(hop-f)')
-vimrc.map_plug('x', 'f', '(hop-f)')
-vimrc.map_plug('n', 'F', '(hop-F)')
-vimrc.map_plug('o', 'F', '(hop-F)')
-vimrc.map_plug('x', 'F', '(hop-F)')
-vimrc.map_plug('o', 't', '(hop-t)')
-vimrc.map_plug('x', 't', '(hop-t)')
-vimrc.map_plug('o', 'T', '(hop-T)')
-vimrc.map_plug('x', 'T', '(hop-T)')
+vim.keymap.set('', '<Plug>(hop-f)', "<Cmd>lua require('hop').hint_char1({ direction = require('hop.hint').HintDirection.AFTER_CURSOR, current_line_only = true })<CR>", { silent=true })
+vim.keymap.set('', '<Plug>(hop-F)', "<Cmd>lua require('hop').hint_char1({ direction = require('hop.hint').HintDirection.BEFORE_CURSOR, current_line_only = true })<CR>", { silent=true })
+vim.keymap.set('', '<Plug>(hop-t)', "<Cmd>lua require('hop').hint_char1({ direction = require('hop.hint').HintDirection.AFTER_CURSOR, current_line_only = true })<CR>", { silent=true })
+vim.keymap.set('', '<Plug>(hop-T)', "<Cmd>lua require('hop').hint_char1({ direction = require('hop.hint').HintDirection.BEFORE_CURSOR, current_line_only = true })<CR>", { silent=true })
+
+vim.keymap.set('', '<Plug>(hop-s2)', "<Cmd>lua require('hop').hint_char2()<CR>", { silent=true })
+vim.keymap.set('', '<Plug>(hop-n)', "<Cmd>lua require('hop').hint_patterns({ direction = require('hop.hint').HintDirection.AFTER_CURSOR }, vim.fn.getreg('/'))<CR>", { silent=true })
+vim.keymap.set('', '<Plug>(hop-N)', "<Cmd>lua require('hop').hint_patterns({ direction = require('hop.hint').HintDirection.BEFORE_CURSOR }, vim.fn.getreg('/'))<CR>", { silent=true })
+vim.keymap.set('', '<Plug>(hop-j)', "<Cmd>lua vimrc.map_callbacks.hop_jk({ direction = require('hop.hint').HintDirection.AFTER_CURSOR })<CR>", { silent=true })
+vim.keymap.set('', '<Plug>(hop-k)', "<Cmd>lua vimrc.map_callbacks.hop_jk({ direction = require('hop.hint').HintDirection.BEFORE_CURSOR })<CR>", { silent=true })
+
+vim.keymap.set('n', 'f', '<Plug>(hop-f)')
+vim.keymap.set('o', 'f', '<Plug>(hop-f)')
+vim.keymap.set('x', 'f', '<Plug>(hop-f)')
+vim.keymap.set('n', 'F', '<Plug>(hop-F)')
+vim.keymap.set('o', 'F', '<Plug>(hop-F)')
+vim.keymap.set('x', 'F', '<Plug>(hop-F)')
+vim.keymap.set('o', 't', '<Plug>(hop-t)')
+vim.keymap.set('x', 't', '<Plug>(hop-t)')
+vim.keymap.set('o', 'T', '<Plug>(hop-T)')
+vim.keymap.set('x', 'T', '<Plug>(hop-T)')
-- Note: Don't use the following key sequences! It is used 'vim-sandwich'.
-- * sa
-- * sd
-- * sr
-vimrc.map_plug('n', 'ss', '(hop-s2)')
-vimrc.map_plug('o', 'ss', '(hop-s2)')
-vimrc.map_plug('x', 'ss', '(hop-s2)')
-vimrc.map_plug('n', 'sn', '(hop-n)')
-vimrc.map_plug('o', 'sn', '(hop-n)')
-vimrc.map_plug('x', 'sn', '(hop-n)')
-vimrc.map_plug('n', 'sN', '(hop-N)')
-vimrc.map_plug('o', 'sN', '(hop-N)')
-vimrc.map_plug('x', 'sN', '(hop-N)')
-vimrc.map_plug('n', 'sj', '(hop-j)')
-vimrc.map_plug('o', 'sj', '(hop-j)')
-vimrc.map_plug('x', 'sj', '(hop-j)')
-vimrc.map_plug('n', 'sk', '(hop-k)')
-vimrc.map_plug('o', 'sk', '(hop-k)')
-vimrc.map_plug('x', 'sk', '(hop-k)')
+vim.keymap.set('n', 'ss', '<Plug>(hop-s2)')
+vim.keymap.set('o', 'ss', '<Plug>(hop-s2)')
+vim.keymap.set('x', 'ss', '<Plug>(hop-s2)')
+vim.keymap.set('n', 'sn', '<Plug>(hop-n)')
+vim.keymap.set('o', 'sn', '<Plug>(hop-n)')
+vim.keymap.set('x', 'sn', '<Plug>(hop-n)')
+vim.keymap.set('n', 'sN', '<Plug>(hop-N)')
+vim.keymap.set('o', 'sN', '<Plug>(hop-N)')
+vim.keymap.set('x', 'sN', '<Plug>(hop-N)')
+vim.keymap.set('n', 'sj', '<Plug>(hop-j)')
+vim.keymap.set('o', 'sj', '<Plug>(hop-j)')
+vim.keymap.set('x', 'sj', '<Plug>(hop-j)')
+vim.keymap.set('n', 'sk', '<Plug>(hop-k)')
+vim.keymap.set('o', 'sk', '<Plug>(hop-k)')
+vim.keymap.set('x', 'sk', '<Plug>(hop-k)')
@@ -1578,10 +1561,10 @@ G['jplus#input_config'] = {
L = { delimiter_format = '' },
}
-vimrc.map_plug('n', 'J', '(jplus-getchar)')
-vimrc.map_plug('x', 'J', '(jplus-getchar)')
-vimrc.map_plug('n', 'gJ', '(jplus-input)')
-vimrc.map_plug('x', 'gJ', '(jplus-input)')
+vim.keymap.set('n', 'J', '<Plug>(jplus-getchar)')
+vim.keymap.set('x', 'J', '<Plug>(jplus-getchar)')
+vim.keymap.set('n', 'gJ', '<Plug>(jplus-input)')
+vim.keymap.set('x', 'gJ', '<Plug>(jplus-input)')
@@ -1593,9 +1576,9 @@ vimrc.map_plug('x', 'gJ', '(jplus-input)')
-- niceblock {{{2
-vimrc.map_plug('x', 'I', '(niceblock-I)')
-vimrc.map_plug('x', 'gI', '(niceblock-gI)')
-vimrc.map_plug('x', 'A', '(niceblock-A)')
+vim.keymap.set('x', 'I', '<Plug>(niceblock-I)')
+vim.keymap.set('x', 'gI', '<Plug>(niceblock-gI)')
+vim.keymap.set('x', 'A', '<Plug>(niceblock-A)')
@@ -1604,24 +1587,24 @@ vimrc.map_plug('x', 'A', '(niceblock-A)')
-- operator-replace {{{2
-vimrc.map_plug('n', '<C-p>', '(operator-replace)')
-vimrc.map_plug('o', '<C-p>', '(operator-replace)')
-vimrc.map_plug('x', '<C-p>', '(operator-replace)')
+vim.keymap.set('n', '<C-p>', '<Plug>(operator-replace)')
+vim.keymap.set('o', '<C-p>', '<Plug>(operator-replace)')
+vim.keymap.set('x', '<C-p>', '<Plug>(operator-replace)')
-- operator-search {{{2
-- Note: m/ is the prefix of comment out.
-vimrc.map_plug('n', 'm?', '(operator-search)')
-vimrc.map_plug('o', 'm?', '(operator-search)')
-vimrc.map_plug('x', 'm?', '(operator-search)')
+vim.keymap.set('n', 'm?', '<Plug>(operator-search)')
+vim.keymap.set('o', 'm?', '<Plug>(operator-search)')
+vim.keymap.set('x', 'm?', '<Plug>(operator-search)')
-- qfreplace {{{2
-vimrc.map('n', 'br', ':<C-u>Qfreplace SmartOpen<CR>', { silent = true })
+vim.keymap.set('n', 'br', ':<C-u>Qfreplace SmartOpen<CR>', { silent=true })
@@ -1641,9 +1624,9 @@ G.quickhl_manual_colors = {
'guifg=#101020 guibg=#ffffa0 gui=bold',
}
-vimrc.map_plug('n', '"', '(quickhl-manual-this)')
-vimrc.map_plug('x', '"', '(quickhl-manual-this)')
-vimrc.map('n', '<C-c>', ':<C-u>nohlsearch <Bar> QuickhlManualReset<CR>', { silent = true })
+vim.keymap.set('n', '"', '<Plug>(quickhl-manual-this)')
+vim.keymap.set('x', '"', '<Plug>(quickhl-manual-this)')
+vim.keymap.set('n', '<C-c>', ':<C-u>nohlsearch <Bar> QuickhlManualReset<CR>', { silent=true })
@@ -1667,15 +1650,15 @@ G.quickrun_config = {
}
-vimrc.map_plug('n', 'BB', '(quickrun)')
-vimrc.map_plug('x', 'BB', '(quickrun)')
+vim.keymap.set('n', 'BB', '<Plug>(quickrun)')
+vim.keymap.set('x', 'BB', '<Plug>(quickrun)')
-- repeat {{{2
-vimrc.map_plug('n', 'U', '(RepeatRedo)')
+vim.keymap.set('n', 'U', '<Plug>(RepeatRedo)')
-- Autoload vim-repeat immediately in order to make <Plug>(RepeatRedo) available.
-- repeat#setreg() does nothing here.
F['repeat#setreg']('', '')
@@ -1796,10 +1779,10 @@ G.swap_no_default_key_mappings = true
G.textobj_continuous_line_no_default_key_mappings = true
-vimrc.map_plug('o', 'aL', '(textobj-continuous-cpp-a)')
-vimrc.map_plug('x', 'aL', '(textobj-continuous-cpp-a)')
-vimrc.map_plug('o', 'iL', '(textobj-continuous-cpp-i)')
-vimrc.map_plug('x', 'iL', '(textobj-continuous-cpp-i)')
+vim.keymap.set('o', 'aL', '<Plug>(textobj-continuous-cpp-a)')
+vim.keymap.set('x', 'aL', '<Plug>(textobj-continuous-cpp-a)')
+vim.keymap.set('o', 'iL', '<Plug>(textobj-continuous-cpp-i)')
+vim.keymap.set('x', 'iL', '<Plug>(textobj-continuous-cpp-i)')
vimrc.autocmd('FileType', {
pattern = 'vim',
@@ -1824,10 +1807,10 @@ vimrc.autocmd('FileType', {
G.textobj_lastpaste_no_default_key_mappings = true
-vimrc.map_plug('o', 'iP', '(textobj-lastpaste-i)')
-vimrc.map_plug('x', 'iP', '(textobj-lastpaste-i)')
-vimrc.map_plug('o', 'aP', '(textobj-lastpaste-a)')
-vimrc.map_plug('x', 'aP', '(textobj-lastpaste-a)')
+vim.keymap.set('o', 'iP', '<Plug>(textobj-lastpaste-i)')
+vim.keymap.set('x', 'iP', '<Plug>(textobj-lastpaste-i)')
+vim.keymap.set('o', 'aP', '<Plug>(textobj-lastpaste-a)')
+vim.keymap.set('x', 'aP', '<Plug>(textobj-lastpaste-a)')
@@ -1835,33 +1818,33 @@ vimrc.map_plug('x', 'aP', '(textobj-lastpaste-a)')
G.textobj_space_no_default_key_mappings = true
-vimrc.map_plug('o', 'a<Space>', '(textobj-space-a)')
-vimrc.map_plug('x', 'a<Space>', '(textobj-space-a)')
-vimrc.map_plug('o', 'i<Space>', '(textobj-space-i)')
-vimrc.map_plug('x', 'i<Space>', '(textobj-space-i)')
+vim.keymap.set('o', 'a<Space>', '<Plug>(textobj-space-a)')
+vim.keymap.set('x', 'a<Space>', '<Plug>(textobj-space-a)')
+vim.keymap.set('o', 'i<Space>', '<Plug>(textobj-space-i)')
+vim.keymap.set('x', 'i<Space>', '<Plug>(textobj-space-i)')
-- textobj-wiw {{{2
G.textobj_wiw_no_default_key_mappings = true
-vimrc.map_plug('n', '<C-w>', '(textobj-wiw-n)')
-vimrc.map_plug('o', '<C-w>', '(textobj-wiw-n)')
-vimrc.map_plug('x', '<C-w>', '(textobj-wiw-n)')
-vimrc.map_plug('n', 'g<C-w>', '(textobj-wiw-p)')
-vimrc.map_plug('o', 'g<C-w>', '(textobj-wiw-p)')
-vimrc.map_plug('x', 'g<C-w>', '(textobj-wiw-p)')
-vimrc.map_plug('n', '<C-e>', '(textobj-wiw-N)')
-vimrc.map_plug('o', '<C-e>', '(textobj-wiw-N)')
-vimrc.map_plug('x', '<C-e>', '(textobj-wiw-N)')
-vimrc.map_plug('n', 'g<C-e>', '(textobj-wiw-P)')
-vimrc.map_plug('o', 'g<C-e>', '(textobj-wiw-P)')
-vimrc.map_plug('x', 'g<C-e>', '(textobj-wiw-P)')
+vim.keymap.set('n', '<C-w>', '<Plug>(textobj-wiw-n)')
+vim.keymap.set('o', '<C-w>', '<Plug>(textobj-wiw-n)')
+vim.keymap.set('x', '<C-w>', '<Plug>(textobj-wiw-n)')
+vim.keymap.set('n', 'g<C-w>', '<Plug>(textobj-wiw-p)')
+vim.keymap.set('o', 'g<C-w>', '<Plug>(textobj-wiw-p)')
+vim.keymap.set('x', 'g<C-w>', '<Plug>(textobj-wiw-p)')
+vim.keymap.set('n', '<C-e>', '<Plug>(textobj-wiw-N)')
+vim.keymap.set('o', '<C-e>', '<Plug>(textobj-wiw-N)')
+vim.keymap.set('x', '<C-e>', '<Plug>(textobj-wiw-N)')
+vim.keymap.set('n', 'g<C-e>', '<Plug>(textobj-wiw-P)')
+vim.keymap.set('o', 'g<C-e>', '<Plug>(textobj-wiw-P)')
+vim.keymap.set('x', 'g<C-e>', '<Plug>(textobj-wiw-P)')
-vimrc.map_plug('o', 'a<C-w>', '(textobj-wiw-a)')
-vimrc.map_plug('x', 'a<C-w>', '(textobj-wiw-a)')
-vimrc.map_plug('o', 'i<C-w>', '(textobj-wiw-i)')
-vimrc.map_plug('x', 'i<C-w>', '(textobj-wiw-i)')
+vim.keymap.set('o', 'a<C-w>', '<Plug>(textobj-wiw-a)')
+vim.keymap.set('x', 'a<C-w>', '<Plug>(textobj-wiw-a)')
+vim.keymap.set('o', 'i<C-w>', '<Plug>(textobj-wiw-i)')
+vim.keymap.set('x', 'i<C-w>', '<Plug>(textobj-wiw-i)')
@@ -1897,9 +1880,9 @@ require('nvim-treesitter.configs').setup {
-- window-adjuster {{{2
-vimrc.map('n', 'tRw', ':<C-u>AdjustScreenWidth<CR>', { silent = true })
-vimrc.map('n', 'tRh', ':<C-u>AdjustScreenHeight<CR>', { silent = true })
-vimrc.map('n', 'tRr', ':<C-u>AdjustScreenWidth <Bar> AdjustScreenHeight<CR>', { silent = true })
+vim.keymap.set('n', 'tRw', '<Cmd>AdjustScreenWidth<CR>')
+vim.keymap.set('n', 'tRh', '<Cmd>AdjustScreenHeight<CR>')
+vim.keymap.set('n', 'tRr', ':<C-u>AdjustScreenWidth <Bar> AdjustScreenHeight<CR>', { silent=true })
diff --git a/.config/nvim/lua/vimrc.lua b/.config/nvim/lua/vimrc.lua
index 7de36d5..bdf1b38 100644
--- a/.config/nvim/lua/vimrc.lua
+++ b/.config/nvim/lua/vimrc.lua
@@ -90,78 +90,9 @@ function M.hi_link(from, to)
vim.cmd(('highlight! link %s %s'):format(from, to))
end
-function M.map(mode, lhs, rhs, opts)
- if opts == nil then
- opts = {}
- end
- opts.noremap = true
- vim.api.nvim_set_keymap(
- mode,
- lhs,
- rhs,
- opts)
-end
-
-
-function M.remap(mode, lhs, rhs, opts)
- if opts == nil then
- opts = {}
- end
- vim.api.nvim_set_keymap(
- mode,
- lhs,
- rhs,
- opts)
-end
-
M.map_callbacks = {}
-local map_callback_id = 1
-
-function M.map_expr(mode, lhs, rhs, opts)
- if opts == nil then
- opts = {}
- end
- opts.noremap = true
- opts.expr = true
- M.map_callbacks['_' .. map_callback_id] = rhs
- vim.api.nvim_set_keymap(
- mode,
- lhs,
- ('v:lua.vimrc.map_callbacks._%d()'):format(map_callback_id),
- opts)
- map_callback_id = map_callback_id + 1
-end
-
-
-function M.map_cmd(mode, lhs, rhs, opts)
- if opts == nil then
- opts = {}
- end
- opts.noremap = true
- opts.silent = true
- vim.api.nvim_set_keymap(
- mode,
- lhs,
- (':<C-u>%s<CR>'):format(rhs),
- opts)
-end
-
-
-function M.map_plug(mode, lhs, rhs, opts)
- if opts == nil then
- opts = {}
- end
- opts.silent = true
- vim.api.nvim_set_keymap(
- mode,
- lhs,
- '<Plug>' .. rhs,
- opts)
-end
-
-M.unmap = vim.api.nvim_del_keymap
-- Wrapper of |getchar()|.
diff --git a/TODO b/TODO
index 3251314..87a0b05 100644
--- a/TODO
+++ b/TODO
@@ -1,7 +1,2 @@
-nvim 0.7
- https://github.com/neovim/neovim/releases/tag/v0.7.0
-
- keymap
-
newsboat
Share "urls" file between machines without opening the content