53 lines
2.3 KiB
Lua
53 lines
2.3 KiB
Lua
vim.g.mapleader = " "
|
|
vim.g.maplocalleader = " "
|
|
|
|
local map = vim.api.nvim_set_keymap
|
|
local noreopt = { noremap = true, silent = true }
|
|
|
|
-- 快所退出
|
|
map("n", "q", ":wq<CR>", noreopt)
|
|
map("n", "qn", ":q!<CR>", noreopt)
|
|
map("i", "jk", "<ESC>", noreopt)
|
|
-- git 管理
|
|
map("n", "<leader>lg", ":LazyGit<CR>", noreopt)
|
|
-- 开关文件树
|
|
map("n", "<leader>t", ":NvimTreeToggle<CR>", noreopt)
|
|
-- 文件页切换
|
|
map("n", "<leader>ll", ":BufferLineCyclePrev<CR>", noreopt)
|
|
map("n", "<leader>rr", ":BufferLineCycleNext<CR>", noreopt)
|
|
map("n", "<leader>pc", ":BufferLinePickClose<CR>", noreopt)
|
|
-- 模糊搜索
|
|
map("n", "<leader>ff", "<Cmd>Telescope find_files<CR>", noreopt)
|
|
map("n", "<leader>fg", "<Cmd>Telescope live_grep<CR>", noreopt)
|
|
-- 重命名
|
|
vim.keymap.set({ "i", "n", "v" }, "<F6>", '<cmd>lua require("renamer").rename()<cr>')
|
|
-- 终端管理
|
|
map("n", "<leader>te", "<Cmd>ToggleTerm<CR>", noreopt)
|
|
function _G.set_terminal_keymaps()
|
|
local opts = { buffer = 0 }
|
|
vim.keymap.set("t", "<esc>", [[<C-\><C-n>]], opts)
|
|
vim.keymap.set("t", "jk", [[<C-\><C-n>]], opts)
|
|
vim.keymap.set("t", "<C-h>", [[<Cmd>wincmd h<CR>]], opts)
|
|
vim.keymap.set("t", "<C-j>", [[<Cmd>wincmd j<CR>]], opts)
|
|
vim.keymap.set("t", "<C-k>", [[<Cmd>wincmd k<CR>]], opts)
|
|
vim.keymap.set("t", "<C-l>", [[<Cmd>wincmd l<CR>]], opts)
|
|
end
|
|
|
|
function _G.set_terminal_keymaps_insert()
|
|
local opts = { buffer = 0 }
|
|
vim.keymap.set("n", "<C-h>", [[<Cmd>wincmd h<CR>]], opts)
|
|
vim.keymap.set("n", "<C-j>", [[<Cmd>wincmd j<CR>]], opts)
|
|
vim.keymap.set("n", "<C-k>", [[<Cmd>wincmd k<CR>]], opts)
|
|
vim.keymap.set("n", "<C-l>", [[<Cmd>wincmd l<CR>]], opts)
|
|
end
|
|
|
|
vim.cmd("autocmd! TermOpen term://* lua set_terminal_keymaps()")
|
|
vim.cmd("lua set_terminal_keymaps_insert()")
|
|
-- 错误列表UI
|
|
map("n", "<leader>xx", "<cmd>TroubleToggle<cr>", { silent = true, noremap = true })
|
|
map("n", "<leader>xw", "<cmd>TroubleToggle workspace_diagnostics<cr>", { silent = true, noremap = true })
|
|
map("n", "<leader>xd", "<cmd>TroubleToggle document_diagnostics<cr>", { silent = true, noremap = true })
|
|
map("n", "<leader>xl", "<cmd>TroubleToggle loclist<cr>", { silent = true, noremap = true })
|
|
map("n", "<leader>xq", "<cmd>TroubleToggle quickfix<cr>", { silent = true, noremap = true })
|
|
map("n", "gR", "<cmd>TroubleToggle lsp_references<cr>", { silent = true, noremap = true })
|