49 lines
2.0 KiB
Lua
49 lines
2.0 KiB
Lua
-- Window navigation
|
|
vim.keymap.set("n", "<leader>`", "<C-^>", { noremap = true, silent = true })
|
|
vim.keymap.set("n", "<leader>wh", "<C-w>h", { noremap = true, silent = true })
|
|
vim.keymap.set("n", "<leader>wj", "<C-w>j", { noremap = true, silent = true })
|
|
vim.keymap.set("n", "<leader>wk", "<C-w>k", { noremap = true, silent = true })
|
|
vim.keymap.set("n", "<leader>wl", "<C-w>l", { noremap = true, silent = true })
|
|
|
|
vim.keymap.set({ "n", "v" }, "<leader>y", '"+y')
|
|
|
|
-- Buffer navigation
|
|
-- vim.keymap.set('n', '<C-j>', '1<C-e>', { noremap = true, silent = true })
|
|
-- vim.keymap.set('n', '<C-k>', '1<C-y>', { noremap = true, silent = true })
|
|
|
|
-- Editor
|
|
vim.keymap.set("i", "<D-v>", "<C-r>+", { noremap = true, silent = true, desc = "Paste from system clipboard" })
|
|
|
|
-- LSP
|
|
vim.keymap.set(
|
|
"n",
|
|
"<leader>ld",
|
|
vim.diagnostic.open_float,
|
|
{ noremap = true, silent = true, desc = "Open diagnostics float" }
|
|
)
|
|
vim.keymap.set("n", "<leader>lo", vim.lsp.buf.code_action, { noremap = true, silent = true, desc = "LSP Code Action" })
|
|
vim.keymap.set(
|
|
"n",
|
|
"<leader>li",
|
|
vim.diagnostic.setqflist,
|
|
{ noremap = true, silent = true, desc = "LSP Diagnostics to QF" }
|
|
)
|
|
vim.keymap.set("n", "gd", vim.lsp.buf.definition, { noremap = true, silent = true, desc = "LSP Go to Definition" })
|
|
vim.keymap.set("n", "<F2>", vim.lsp.buf.rename, { noremap = true, silent = true, desc = "LSP Rename" })
|
|
|
|
-- glances.nvim
|
|
vim.keymap.set("n", "gD", "<CMD>Glance definitions<CR>")
|
|
vim.keymap.set("n", "gR", "<CMD>Glance references<CR>")
|
|
vim.keymap.set("n", "gY", "<CMD>Glance type_definitions<CR>")
|
|
vim.keymap.set("n", "gM", "<CMD>Glance implementations<CR>")
|
|
|
|
-- Snacks Terminal
|
|
vim.keymap.set("n", "<leader>tV", function()
|
|
local snacks = require("snacks")
|
|
snacks.terminal.open(nil, { win = { position = "right" } })
|
|
end, { desc = "Terminal (Vertical Split)" })
|
|
vim.keymap.set("n", "<leader>tS", function()
|
|
local snacks = require("snacks")
|
|
snacks.terminal.open(nil, { win = { position = "bottom" } })
|
|
end, { desc = "Terminal (Horizontal Split)" })
|