vim.g.mapleader = " " vim.g.maplocalleader = " " local map = vim.api.nvim_set_keymap local opt = {noremap = true, silent = true } map("n", "", "9k", opt) map("n", "", "9j", opt) -- map('v', '<', '', '>gv', opt) map("n", "sv", ":vsp", opt) map("n", "sh", ":sp", opt) map("n", "sc", "c", opt) map("n", "so", "o", opt) -- close others map("n", "", "h", opt) map("n", "", "j", opt) map("n", "", "k", opt) map("n", "", "l", opt) -- nvimTree map('n', 'ct', ':NvimTreeToggle', opt) local pluginKeys = {} -- lsp 回调函数快捷键设置 pluginKeys.maplsp = function(mapbuf) -- rename mapbuf('n', 'rn', 'lua vim.lsp.buf.rename()', opt) -- code action mapbuf('n', 'ca', 'lua vim.lsp.buf.code_action()', opt) -- go xx mapbuf('n', 'gd', 'lua vim.lsp.buf.definition()', opt) mapbuf('n', 'gh', 'lua vim.lsp.buf.hover()', opt) mapbuf('n', 'gD', 'lua vim.lsp.buf.declaration()', opt) mapbuf('n', 'gi', 'lua vim.lsp.buf.implementation()', opt) mapbuf('n', 'gr', 'lua vim.lsp.buf.references()', opt) -- diagnostic mapbuf('n', 'go', 'lua vim.diagnostic.open_float()', opt) mapbuf('n', 'gp', 'lua vim.diagnostic.goto_prev()', opt) mapbuf('n', 'gn', 'lua vim.diagnostic.goto_next()', opt) -- mapbuf('n', 'q', 'lua vim.diagnostic.setloclist()', opt) -- leader + = mapbuf('n', '=', 'lua vim.lsp.buf.formatting()', opt) -- mapbuf('n', '', 'lua vim.lsp.buf.signature_help()', opt) -- mapbuf('n', 'wa', 'lua vim.lsp.buf.add_workspace_folder()', opt) -- mapbuf('n', 'wr', 'lua vim.lsp.buf.remove_workspace_folder()', opt) -- mapbuf('n', 'wl', 'lua print(vim.inspect(vim.lsp.buf.list_workspace_folders()))', opt) -- mapbuf('n', 'D', 'lua vim.lsp.buf.type_definition()', opt) end return pluginKeys