From 86bf045a70c1401600781d56147d3c46cc5bda2a Mon Sep 17 00:00:00 2001 From: omri Date: Sat, 8 Jul 2023 15:20:41 +0300 Subject: [PATCH] nvim: use new 0.7 vim.keymap.set api --- .config/nvim/lua/mappings.lua | 150 ++++++++++++++++------------------ 1 file changed, 69 insertions(+), 81 deletions(-) diff --git a/.config/nvim/lua/mappings.lua b/.config/nvim/lua/mappings.lua index 26b886f..7277cbd 100644 --- a/.config/nvim/lua/mappings.lua +++ b/.config/nvim/lua/mappings.lua @@ -1,113 +1,101 @@ -local function map(mode, lhs, rhs, opts) - local options = {noremap = false} - if opts then options = vim.tbl_extend('force', options, opts) end - vim.api.nvim_set_keymap(mode, lhs, rhs, options) -end - -local function noremap(mode, lhs, rhs, opts) - local options = {noremap = true} - if opts then options = vim.tbl_extend('force', options, opts) end - vim.api.nvim_set_keymap(mode, lhs, rhs, options) -end - -- leader vim.g.mapleader = ' ' -- visual block indenting -noremap('v', '<', '', '>gv') +vim.keymap.set('v', '<', '', '>gv') -- centered cursor -noremap('n', 'n', 'nzz') -noremap('n', 'N', 'Nzz') -noremap('n', 'J', 'mzJ`z') +vim.keymap.set('n', 'n', 'nzz') +vim.keymap.set('n', 'N', 'Nzz') +vim.keymap.set('n', 'J', 'mzJ`z') -- escape terminal mode -noremap('t', '', '') +vim.keymap.set('t', '', '') -- newline without entering insert mode -noremap('n', '', 'o') -noremap('n', '', 'O') +vim.keymap.set('n', '', 'o') +vim.keymap.set('n', '', 'O') -- movement -noremap('n', 'h', ':wincmd h') -noremap('n', 'j', ':wincmd j') -noremap('n', 'k', ':wincmd k') -noremap('n', 'l', ':wincmd l') +vim.keymap.set('n', 'h', ':wincmd h') +vim.keymap.set('n', 'j', ':wincmd j') +vim.keymap.set('n', 'k', ':wincmd k') +vim.keymap.set('n', 'l', ':wincmd l') -- splits and buffers -noremap('n', 'sv', ':vsplit') -noremap('n', 'sz', ':split') -noremap('n', 'st', ':tabnew') -noremap('n', 'sb', ':Telescope buffers') -noremap('n', 'sh', ':tabprevious') -noremap('n', 'sl', ':tabnext') +vim.keymap.set('n', 'sv', ':vsplit') +vim.keymap.set('n', 'sz', ':split') +vim.keymap.set('n', 'st', ':tabnew') +vim.keymap.set('n', 'sb', ':Telescope buffers') +vim.keymap.set('n', 'sh', ':tabprevious') +vim.keymap.set('n', 'sl', ':tabnext') -- basics -noremap('n', 'q', ':q') -noremap('n', 'Q', ':qa') -noremap('n', 'x', ':q!') -noremap('n', 'X', ':qa!') -noremap('n', 'w', ':w') -noremap('n', 'W', ':wa') -noremap('n', 'f', ':NvimTreeToggle') -noremap('n', 'F', ':Telescope find_files') +vim.keymap.set('n', 'q', ':q') +vim.keymap.set('n', 'Q', ':qa') +vim.keymap.set('n', 'x', ':q!') +vim.keymap.set('n', 'X', ':qa!') +vim.keymap.set('n', 'w', ':w') +vim.keymap.set('n', 'W', ':wa') +vim.keymap.set('n', 'f', ':NvimTreeToggle') +vim.keymap.set('n', 'F', ':Telescope find_files') -- toggle term -noremap('n', 'c', ':ToggleTermToggleAll') -noremap('n', 'C', ':ToggleTerm') +vim.keymap.set('n', 'c', ':ToggleTermToggleAll') +vim.keymap.set('n', 'C', ':ToggleTerm') -- frequent actions -noremap('n', 'ar', ':source ~/.config/nvim/init.lua') -noremap('n', 'ac', ':cd ~/.config/nvim/') +vim.keymap.set('n', 'ar', ':source ~/.config/nvim/init.lua') +vim.keymap.set('n', 'ac', ':cd ~/.config/nvim/') -- keymap switches -noremap('i', '', ':set keymap=a') -noremap('i', '', ':set keymap=hebrewa') +vim.keymap.set('i', '', ':set keymap=a') +vim.keymap.set('i', '', ':set keymap=hebrewa') -- telescope -noremap('n', 'tt', ':Telescope') -noremap('n', 'tl', ':Telescope lsp_dynamic_workspace_symbols') -noremap('n', 'to', ':Telescope oldfiles') -noremap('n', 'tg', ':Telescope live_grep') -noremap('n', 'ts', ':Telescope treesitter') +vim.keymap.set('n', 'tt', ':Telescope') +vim.keymap.set('n', 'tl', ':Telescope lsp_dynamic_workspace_symbols') +vim.keymap.set('n', 'to', ':Telescope oldfiles') +vim.keymap.set('n', 'tg', ':Telescope live_grep') +vim.keymap.set('n', 'ts', ':Telescope treesitter') -- code -noremap('n', 'gf', ':Neoformat') -noremap('n', 'gd', ':Telescope lsp_definitions') -noremap('n', 'gi', ':Telescope lsp_implementations') -noremap('n', 'gr', ':Telescope lsp_references') -noremap('n', 'ga', ':Telescope lsp_code_actions') -noremap('n', 'gq', ':Telescope diagnostics') -noremap('n', 'gD', ':lua vim.lsp.buf.declaration()') -noremap('n', 'gk', ':lua vim.lsp.buf.hover()') -noremap('n', 'gt', ':lua vim.lsp.buf.type_definition()') -noremap('n', 'gn', ':lua vim.lsp.buf.rename()') -noremap('n', 'ge', ':lua vim.lsp.diagnostic.show_line_diagnostics()') -noremap('n', '[d', ':lua vim.lsp.diagnostic.goto_prev()') -noremap('n', ']d', ':lua vim.lsp.diagnostic.goto_next()') +vim.keymap.set('n', 'gf', ':Neoformat') +vim.keymap.set('n', 'gd', ':Telescope lsp_definitions') +vim.keymap.set('n', 'gi', ':Telescope lsp_implementations') +vim.keymap.set('n', 'gr', ':Telescope lsp_references') +vim.keymap.set('n', 'ga', ':Telescope lsp_code_actions') +vim.keymap.set('n', 'gq', ':Telescope diagnostics') +vim.keymap.set('n', 'gD', function() vim.lsp.buf.declaration() end) +vim.keymap.set('n', 'gk', function() vim.lsp.buf.hover() end) +vim.keymap.set('n', 'gt', function() vim.lsp.buf.type_definition() end) +vim.keymap.set('n', 'gn', function() vim.lsp.buf.rename() end) +vim.keymap.set('n', 'ge', function() vim.lsp.diagnostic.show_line_diagnostics() end) +vim.keymap.set('n', '[d', function() vim.lsp.diagnostic.goto_prev() end) +vim.keymap.set('n', ']d', function() vim.lsp.diagnostic.goto_next() end) -- debug mappings -noremap('n', 'dc', ":lua require'dap'.continue()") -noremap('n', 'dn', ":lua require'dap'.step_over()") -noremap('n', 'di', ":lua require'dap'.step_into()") -noremap('n', 'do', ":lua require'dap'.step_out()") -noremap('n', 'db', ":lua require'dap'.toggle_breakpoint()") -noremap('n', 'dl', ":lua require'dap'.run_last()") -noremap('n', 'dq', ":lua require'dap'.close()") -noremap('n', 'dv', ':Telescope dap variables') -noremap('n', 'dh', ':Telescope dap commands') -noremap('n', 'dp', ':Telescope dap list_breakpoints') -noremap('n', 'du', ":lua require'dapui'.toggle()") +vim.keymap.set('n', 'dc', function() require'dap'.continue() end) +vim.keymap.set('n', 'dn', function() require'dap'.step_over() end) +vim.keymap.set('n', 'di', function() require'dap'.step_into() end) +vim.keymap.set('n', 'do', function() require'dap'.step_out() end) +vim.keymap.set('n', 'db', function() require'dap'.toggle_breakpoint() end) +vim.keymap.set('n', 'dl', function() require'dap'.run_last() end) +vim.keymap.set('n', 'dq', function() require'dap'.close() end) +vim.keymap.set('n', 'du', function() require'dapui'.toggle() end) +vim.keymap.set('n', 'dv', ':Telescope dap variables') +vim.keymap.set('n', 'dh', ':Telescope dap commands') +vim.keymap.set('n', 'dp', ':Telescope dap list_breakpoints') -- git -noremap('n', 'vs', ':Git') -noremap('n', 'vb', ':Telescope git_branches') -noremap('n', 'vc', ':Telescope git_commits') -noremap('n', 'vf', ':Telescope git_files') +vim.keymap.set('n', 'vs', ':Git') +vim.keymap.set('n', 'vb', ':Telescope git_branches') +vim.keymap.set('n', 'vc', ':Telescope git_commits') +vim.keymap.set('n', 'vf', ':Telescope git_files') -- vsnip jumpable mappings -map('i', '', "vsnip#jumpable(1) ? '(vsnip-jump-next)' : ''", {expr = true}) -map('s', '', "vsnip#jumpable(1) ? '(vsnip-jump-next)' : ''", {expr = true}) -map('i', '', "vsnip#jumpable(-1) ? '(vsnip-jump-next)' : ''", {expr = true}) -map('s', '', "vsnip#jumpable(-1) ? '(vsnip-jump-next)' : ''", {expr = true}) +vim.keymap.set('i', '', "vsnip#jumpable(1) ? '(vsnip-jump-next)' : ''", {expr = true}) +vim.keymap.set('s', '', "vsnip#jumpable(1) ? '(vsnip-jump-next)' : ''", {expr = true}) +vim.keymap.set('i', '', "vsnip#jumpable(-1) ? '(vsnip-jump-prev)' : ''", {expr = true}) +vim.keymap.set('s', '', "vsnip#jumpable(-1) ? '(vsnip-jump-prev)' : ''", {expr = true})