1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123
| vim.g.mapleader = " " vim.g.maplocalleader = " "
local map = vim.api.nvim_set_keymap local opt = { noremap = true, silent = true }
-- 取消 s 默认功能 map("n", "s", "", opt)
-- windows 分屏快捷键 map("n", "sv", ":vsp<CR>", opt) map("n", "sh", ":sp<CR>", opt) map("n", "sc", "<C-w>c", opt) map("n", "so", "<C-w>o", opt)
-- Alt + hjkl 窗口之间跳转 map("n", "<A-h>", "<C-w>h", opt) map("n", "<A-j>", "<C-w>j", opt) map("n", "<A-k>", "<C-w>k", opt) map("n", "<A-l>", "<C-w>l", opt)
-- 左右比例控制 map("n", "<C-Left>", ":vertical resize -2<CR>", opt) map("n", "<C-Right>", ":vertical resize +2<CR>", opt) map("n", "s,", ":vertical resize -20<CR>", opt) map("n", "s.", ":vertical resize +20<CR>", opt)
-- 上下比例 map("n", "sj", ":resize +10<CR>", opt) map("n", "sk", ":resize -10<CR>", opt)
-- Terminal相关 map("n", "<leader>t", ":sp | terminal<CR>", opt) map("n", "<leader>vt", ":vsp | terminal<CR>", opt) map("t", "<Esc>", "<C-\\><C-n>", opt) map("t", "<A-h>", "<C-\\><C-N><C-w>h", opt) map("t", "<A-j>", "<C-\\><C-N><C-w>j", opt) map("t", "<A-k>", "<C-\\><C-N><C-w>k", opt) map("t", "<A-l>", "<C-\\><C-N><C-w>l", opt)
-- visual模式下缩进 map("v", "<", "<gv", opt) map("v", ">", ">gv", opt)
-- 上下移动选中文本 map("v", "J", ":move '>+1<CR>gv-gv", opt) map("v", "K", ":move '<-2<CR>gv-gv", opt)
-- 上下滚动 map("n", "<C-j>", "4j", opt) map("n", "<C-k>", "4k", opt) map("n", "<C-u>", "9k", opt) map("n", "<C-d>", "9j", opt)
-- 粘贴不复制 map("v", "p", '"_dP', opt)
-- 退出 map("n", "q", ":q<CR>", opt) map("n", "qq", ":q!<CR>", opt) map("n", "Q", ":qa!<CR>", opt)
-- insert 模式跳转 map("i", "<C-h>", "<ESC>I", opt) map("i", "<C-l>", "<ESC>A", opt)
-- 代码注释插件 pluginKeys.comment = { toggler = { line = "gcc", block = "gbc" }, opleader = { line = "gc", block = "gb" }, }
-- nvim-cmp 自动补全 pluginKeys.cmp = function(cmp) return { ["<A-.>"] = cmp.mapping(cmp.mapping.complete(), { "i", "c" }), ["<A-,>"] = cmp.mapping({ i = cmp.mapping.abort(), c = cmp.mapping.close() }), ["<C-k>"] = cmp.mapping.select_prev_item(), ["<C-j>"] = cmp.mapping.select_next_item(), ["<CR>"] = cmp.mapping.confirm({ select = true, behavior = cmp.ConfirmBehavior.Replace }), ["<C-u>"] = cmp.mapping(cmp.mapping.scroll_docs(-4), { "i", "c" }), ["<C-d>"] = cmp.mapping(cmp.mapping.scroll_docs(4), { "i", "c" }), } end
-- LSP 快捷键 pluginKeys.mapLSP = function(mapbuf) mapbuf("n", "<leader>rn", "<cmd>lua vim.lsp.buf.rename()<CR>", opt) mapbuf("n", "<leader>ca", "<cmd>lua vim.lsp.buf.code_action()<CR>", opt) mapbuf("n", "gd", "<cmd>lua vim.lsp.buf.definition()<CR>", opt) mapbuf("n", "gh", "<cmd>lua vim.lsp.buf.hover()<CR>", opt) mapbuf("n", "gD", "<cmd>lua vim.lsp.buf.declaration()<CR>", opt) mapbuf("n", "gi", "<cmd>lua vim.lsp.buf.implementation()<CR>", opt) mapbuf("n", "gr", "<cmd>lua vim.lsp.buf.references()<CR>", opt) mapbuf("n", "gp", "<cmd>lua vim.diagnostic.open_float()<CR>", opt) mapbuf("n", "gk", "<cmd>lua vim.diagnostic.goto_prev()<CR>", opt) mapbuf("n", "gj", "<cmd>lua vim.diagnostic.goto_next()<CR>", opt) mapbuf("n", "<leader>f", "<cmd>lua vim.lsp.buf.format()<CR>", opt) end
-- TypeScript 快捷键 pluginKeys.mapTsLSP = function(mapbuf) mapbuf("n", "gs", ":TSLspOrganize<CR>", opt) mapbuf("n", "gr", ":TSLspRenameFile<CR>", opt) mapbuf("n", "gi", ":TSLspImportAll<CR>", opt) end
-- nvim-tree 快捷键 pluginKeys.nvimTreeList = { { key = { "<CR>", "o", "<2-LeftMouse>" }, action = "edit" }, { key = "v", action = "vsplit" }, { key = "h", action = "split" }, { key = "i", action = "toggle_custom" }, { key = ".", action = "toggle_dotfiles" }, { key = "<F5>", action = "refresh" }, { key = "a", action = "create" }, { key = "d", action = "remove" }, { key = "r", action = "rename" }, { key = "x", action = "cut" }, { key = "c", action = "copy" }, { key = "p", action = "paste" }, { key = "s", action = "system_open" }, }
|