-
Notifications
You must be signed in to change notification settings - Fork 1
Expand file tree
/
Copy pathmappings.lua
More file actions
199 lines (178 loc) · 8.1 KB
/
Copy pathmappings.lua
File metadata and controls
199 lines (178 loc) · 8.1 KB
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
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
-- require "nvchad.mappings"
local map = vim.keymap.set
map("x", "p", 'p:let @+=@0<CR>:let @"=@0<CR>', { desc = "Dont copy replaced text" })
map("i", "<C-b>", "<ESC>^i", { desc = "move beginning of line" })
map("i", "<C-e>", "<End>", { desc = "move end of line" })
map("i", "<C-h>", "<Left>", { desc = "move left" })
map("i", "<C-l>", "<Right>", { desc = "move right" })
map("i", "<C-j>", "<Down>", { desc = "move down" })
map("i", "<C-k>", "<Up>", { desc = "move up" })
map("n", "<C-h>", "<C-w>h", { desc = "switch window left" })
map("n", "<C-l>", "<C-w>l", { desc = "switch window right" })
map("n", "<C-j>", "<C-w>j", { desc = "switch window down" })
map("n", "<C-k>", "<C-w>k", { desc = "switch window up" })
map("n", "<Esc>", "<cmd>noh<CR>", { desc = "general clear highlights" })
map("n", "<C-s>", "<cmd>w<CR>", { desc = "general save file" })
map("n", "<C-c>", "<cmd>%y+<CR>", { desc = "general copy whole file" })
map("n", "<leader>n", "<cmd>set nu!<CR>", { desc = "toggle line number" })
map("n", "<leader>rn", "<cmd>set rnu!<CR>", { desc = "toggle relative number" })
map("n", "<leader>ch", "<cmd>NvCheatsheet<CR>", { desc = "toggle nvcheatsheet" })
map("n", "<leader>fm", function()
require("conform").format { lsp_fallback = true }
end, { desc = "general format file" })
-- global lsp mappings
map("n", "<leader>ds", vim.diagnostic.setloclist, { desc = "LSP diagnostic loclist" })
-- tabufline
map("n", "<leader>b", "<cmd>enew<CR>", { desc = "buffer new" })
map("n", "<tab>", function()
require("nvchad.tabufline").next()
end, { desc = "buffer goto next" })
map("n", "<S-tab>", function()
require("nvchad.tabufline").prev()
end, { desc = "buffer goto prev" })
map("n", "dx", function()
require("nvchad.tabufline").close_buffer()
end, { desc = "buffer close" })
-- Comment
map("n", "<leader>/", "gcc", { desc = "toggle comment", remap = true })
map("v", "<leader>/", "gc", { desc = "toggle comment", remap = true })
-- nvimtree
map("n", "<C-n>", "<cmd>NvimTreeToggle<CR>", { desc = "nvimtree toggle window" })
map("n", "<leader>e", "<cmd>NvimTreeFocus<CR>", { desc = "nvimtree focus window" })
map("n", "<leader>th", function()
require("nvchad.themes").open()
end, { desc = "telescope nvchad themes" })
map("n", ";", ":", { desc = "CMD enter command mode" })
-- telescope
map("n", "<leader>fg", "<cmd>Telescope live_grep<CR>", { desc = "telescope live grep" })
map("n", "<leader>fb", "<cmd>Telescope buffers<CR>", { desc = "telescope find buffers" })
map("n", "<leader>fh", "<cmd>Telescope help_tags<CR>", { desc = "telescope help page" })
map("n", "<leader>fm", "<cmd>Telescope marks<CR>", { desc = "telescope find marks" })
map("n", "<leader>fo", "<cmd>Telescope oldfiles<CR>", { desc = "telescope find oldfiles" })
map("n", "<leader>fz", "<cmd>Telescope current_buffer_fuzzy_find<CR>", { desc = "telescope find in current buffer" })
map("n", "<leader>fc", "<cmd>Telescope git_commits<CR>", { desc = "telescope git commits" })
map("n", "<leader>fs", "<cmd>Telescope git_status<CR>", { desc = "telescope git status" })
map("n", "<leader>ff", "<cmd>Telescope find_files<CR>", { desc = "Find files" })
map("n", "<leader>fa", "<cmd>Telescope find_files follow=true no_ignore=true hidden=true<CR>", { desc = "Find all" })
map("n", "<leader>fr", "<cmd>Telescope resume<CR>", { desc = "Resume last search" })
map("n", "<leader>ft", function()
require("telescope.builtin").builtin {}
end, { desc = "Telescope built-in pickers" })
-- trouble
map("n", "<leader>xw", "<cmd>Trouble diagnostics toggle<cr>", { desc = "Trouble in workspace" })
map("n", "<leader>xd", "<cmd>Trouble diagnostics toggle filter.buf=0<cr>", { desc = "Trouble in current buffer" })
map("n", "<leader>xl", "<cmd>Trouble loclist toggle<cr>", { desc = "Trouble location list" })
map("n", "<leader>xq", "<cmd>Trouble qflist toggle<cr>", { desc = "Trouble quickfix" })
map("n", "<leader>xr", "<cmd>Trouble lsp toggle focus=false win.position=right<cr>", { desc = "Trouble references" })
-- lspconfig
map("n", "<leader>lD", function()
vim.lsp.buf.declaration()
end, { desc = "LSP declaration" })
map("n", "<leader>ld", function()
vim.lsp.buf.definition()
end, { desc = "LSP definition" })
map("n", "<leader>lh", "<cmd>Lspsaga hover_doc<CR>", { desc = "LSP Saga hover_doc" })
map("n", "<leader>lf", "<cmd>Lspsaga finder<CR>", { desc = "LSP Saga finder" })
map("n", "<leader>lci", "<cmd>Lspsaga incoming_calls<CR>", { desc = "LSP Saga incoming calls" })
map("n", "<leader>lco", "<cmd>Lspsaga outgoing_calls<CR>", { desc = "LSP Saga outoing calls" })
map("n", "<leader>lgd", "<cmd>Lspsaga goto_definition<CR>", { desc = "LSP Saga goto_definition" })
map("n", "<leader>lK", function()
vim.lsp.buf.hover()
end, { desc = "LSP hover" })
map("n", "<leader>li", function()
vim.lsp.buf.implementation()
end, { desc = "LSP implementation" })
map("n", "<leader>ls", function()
vim.lsp.buf.signature_help()
end, { desc = "LSP signature help" })
map("n", "<leader>lt", function()
vim.lsp.buf.type_definition()
end, { desc = "LSP definition type" })
map("n", "<leader>lR", "<cmd>Lspsaga rename<CR>", { desc = "LSP Saga rename" })
map("n", "<leader>la", "<cmd>Lspsaga code_action<CR>", { desc = "LSP Saga code_action" })
map("n", "<leader>lr", function()
vim.lsp.buf.references()
end, { desc = "LSP references" })
map("n", "<leader>lx", function()
vim.diagnostic.open_float { border = "rounded" }
end, { desc = "Floating diagnostic" })
-- map("n", "<leader>lk", function()
-- vim.diagnostic.goto_prev { float = { border = "rounded" } }
-- end, { desc = "Goto prev" })
-- map("n", "<leader>lj", function()
-- vim.diagnostic.goto_next { float = { border = "rounded" } }
-- end, { desc = "Goto next" })
map("n", "<leader>lq", function()
vim.diagnostic.setloclist()
end, { desc = "Diagnostic setloclist" })
map("n", "<leader>lgf", function()
vim.lsp.buf.format { timeout_ms = 500 }
end, { desc = "LSP formatting" })
map("n", "<leader>lp", "<cmd>Lspsaga peek_definition<CR>", { desc = "LSP Saga peek_definition" })
-- map("n", "<leader>wa", function()
-- vim.lsp.buf.add_workspace_folder()
-- end, { desc = "Add workspace folder" })
-- map("n", "<leader>wr", function()
-- vim.lsp.buf.remove_workspace_folder()
-- end, { desc = "Remove workspace folder" })
-- map("n", "<leader>wr", function()
-- print(vim.inspect(vim.lsp.buf.list_workspace_folders()))
-- end, { desc = "List workspace folders" })
-- gitsigns
map("n", "<leader>hj", function()
if vim.wo.diff then
return "<leader>hj"
end
vim.schedule(function()
require("gitsigns").next_hunk()
end)
return "<Ignore>"
end, { desc = "Jump to next hunk", expr = true })
map("n", "<leader>hk", function()
if vim.wo.diff then
return "<leader>hk"
end
vim.schedule(function()
require("gitsigns").prev_hunk()
end)
return "<Ignore>"
end, { desc = "Jump to prev hunk", expr = true })
map("n", "<leader>hp", function()
require("gitsigns").preview_hunk()
end, { desc = "Preview hunk" })
map("n", "<leader>hb", function()
require("gitsigns").blame_line { full = true }
end, { desc = "Blame line" })
map("n", "<leader>htb", function()
require("gitsigns").toggle_current_line_blame()
end, { desc = "Toggle current line blame" })
map("n", "<leader>htd", function()
require("gitsigns").toggle_deleted()
end, { desc = "Toggle deleted" })
map("n", "<leader>hs", function()
require("gitsigns").stage_hunk()
end, { desc = "Stage hunk" })
map("n", "<leader>hs", function()
require("gitsigns").reset_hunk()
end, { desc = "Reset hunk" })
map("n", "<leader>hS", function()
require("gitsigns").stage_buffer()
end, { desc = "Stage buffer" })
map("n", "<leader>hR", function()
require("gitsigns").reset_buffer()
end, { desc = "Reset buffer" })
map("n", "<leader>hu", function()
require("gitsigns").undo_stage_hunk()
end, { desc = "Undo stage hunk" })
map("n", "<leader>hd", function()
require("gitsigns").diffthis()
end, { desc = "Diff" })
map("n", "<leader>hD", function()
require("gitsigns").diffthis "~"
end, { desc = "Diff HEAD" })
map("v", "<leader>hs", function()
require("gitsigns").stage_hunk { vim.fn.line ".", vim.fn.line "v" }
end, { desc = "Stage hunk" })
map("v", "<leader>hr", function()
require("gitsigns").reset_hunk { vim.fn.line ".", vim.fn.line "v" }
end, { desc = "Reset hunk" })