1
1
-- 复用 opt 参数
2
2
local opt = {noremap = true , silent = true }
3
3
4
+ -- 基础操作
5
+ vim .keymap .set (" n" , " <leader>p" , " :set invpaste paste?<CR>" , opt ) -- 格式化文件中所有代码行(nvim-treesitter 代码格式化)
6
+
4
7
vim .keymap .set (" n" , " <leader>i" , " gg=G" , opt ) -- 格式化文件中所有代码行(nvim-treesitter 代码格式化)
5
8
9
+ -- 替代 gcc 的快捷键
10
+ -- vim.keymap.set("n", "<leader>c", "gcc", { noremap = true, silent = true }) -- 默认将 leader 设置为反斜杠 '\'
11
+ -- 替代 gc% 的快捷键
12
+ -- vim.keymap.set("n", "<leader>cc", "gc%", { noremap = true, silent = true })
13
+
6
14
-- 窗口操作
7
15
-- 取消 s 默认功能
8
16
vim .keymap .set (" n" , " s" , " " , opt )
@@ -20,18 +28,19 @@ vim.keymap.set("n", "<C-k>", "<C-w><C-k>", { desc = "Switch Upper Window" })
20
28
vim .keymap .set (" n" , " <C-l>" , " <C-w><C-l>" , { desc = " Switch Right Window" })
21
29
22
30
-- 上下移动选中文本
23
- vim .keymap .set (" v" , " j" , " :move '>+1<CR>gv-gv" , opt )
24
- vim .keymap .set ({" n" , " i" }, " K" , " :move '<-2<CR>gv-gv" , opt )
31
+ -- vim.keymap.set("v", "j", ":move '>+1<CR>gv-gv", opt)
32
+ -- vim.keymap.set({"n", "i"}, "K", ":move '<-2<CR>gv-gv", opt)
25
33
26
34
-- insert 模式下,跳到行首行尾
27
35
vim .keymap .set (" i" , " <C-h>" , " <ESC>I" , opt )
28
36
vim .keymap .set (" i" , " <C-l>" , " <ESC>A" , opt )
29
37
30
38
-- 打开或者光比 neo-tree
31
- vim .keymap .set (" n" , " <C-b>" , " :Neotree<CR>" , opt )
39
+ -- vim.keymap.set("n", "<C-b>", ":Neotree<CR>", opt)
32
40
33
41
-- 清除高亮
34
42
vim .keymap .set (" n" , " <ESC>" , vim .cmd .nohlsearch , { desc = " Clear Highlights" })
43
+
35
44
-- 简化退出、保存文件
36
45
vim .keymap .set ({ " i" , " x" , " n" , " s" }, " <C-q>" , vim .cmd .quit , { desc = " Quit File" })
37
46
vim .keymap .set ({ " i" , " x" , " n" , " s" }, " <C-s>" , vim .cmd .write , { desc = " Save File" })
@@ -53,23 +62,24 @@ vim.keymap.set("n", "K", vim.lsp.buf.hover, opts)
53
62
54
63
-- FZF-Lua
55
64
vim .keymap .set (" n" , " <C-e>" , " <cmd>FzfLua buffers<CR>" , { desc = " buffers" })
65
+ vim .keymap .set (" n" , " <C-f>" , " <cmd>FzfLua live_grep<CR>" , { desc = " lines" })
66
+ vim .keymap .set (" n" , " <leader>f" , " <cmd>FzfLua lgrep_curbuf<CR>" , { desc = " lines" })
56
67
vim .keymap .set (" n" , " <leader>r" , " <cmd>FzfLua oldfiles<CR>" , { desc = " mru" }) -- mru: most recent used
57
68
vim .keymap .set (" n" , " <leader>s" , " <cmd>FzfLua treesitter<CR>" , { desc = " mru" }) -- mru: most recent used
58
- vim .keymap .set (" n" , " <leader>f" , " <cmd>FzfLua live_grep<CR>" , { desc = " lines" })
59
69
vim .keymap .set (" n" , " <leader>h" , " <cmd>FzfLua search_history<CR>" , { desc = " lines" })
60
70
vim .keymap .set (" n" , " <leader>m" , " <cmd>FzfLua marks<CR>" , { desc = " lines" })
61
- vim .keymap .set (" n" , " <leader>gp " , " <cmd>FzfLua git_commits<CR>" , { desc = " lines" })
71
+ vim .keymap .set (" n" , " <leader>gc " , " <cmd>FzfLua git_commits<CR>" , { desc = " lines" })
62
72
vim .keymap .set (" n" , " <leader>gb" , " <cmd>FzfLua git_bcommits<CR>" , { desc = " lines" })
63
73
vim .keymap .set (" n" , " <leader>gs" , " <cmd>FzfLua git_status<CR>" , { desc = " lines" })
64
- vim .keymap .set (" n" , " <C-f>" , " <cmd>FzfLua lgrep_curbuf<CR>" , { desc = " lines" })
65
74
66
75
-- Git
67
- vim .keymap .set (" n" , " <leader>b " , " <cmd>BlameToggle<CR>" , { desc = " lines" })
76
+ -- vim.keymap.set("n", "<leader>gb ", "<cmd>BlameToggle<CR>", { desc = "lines" })
68
77
69
78
-- 其他
70
- vim .keymap .set (' n' , ' <S-n >' , function ()
79
+ vim .keymap .set (' n' , ' <leader><leader >' , function ()
71
80
vim .wo .number = not vim .wo .number
72
81
end , { desc = ' Toggle line numbers' })
73
82
74
83
-- vim.keymap.set("i", "<C-BS>", "<C-W>")
75
- -- vim.keymap.set("i", "<C-H>", "<C-W>")
84
+ -- vim.keymap.set("i", "<C-H>", "<C-W>")
85
+ vim .keymap .set (" i" , " <C-H>" , " <BS>" , { noremap = true , silent = true })
0 commit comments