57 lines
1.8 KiB
Lua
57 lines
1.8 KiB
Lua
local function map(mode, lhs, rhs, info)
|
|
vim.keymap.set(mode, lhs, rhs, { desc = info })
|
|
end
|
|
|
|
-- Basics
|
|
map("n", ";", ":", "Command mode")
|
|
map("n", "qq", "<cmd>qa!<cr>", "Quit all")
|
|
map("n", "U", "<cmd>redo<cr>", "Redo")
|
|
map({ "i", "n" }, "<esc>", "<cmd>noh<cr><esc>", "Clear search")
|
|
map({ "i", "n", "s", "v" }, "<C-s>", "<cmd>w<cr><esc>", "Save file")
|
|
map("n", "<C-l>", "^Da", "Rewrite line")
|
|
map("i", "<C-l>", "<esc>^Da", "Rewrite line")
|
|
map("n", "<C-a>", "ggVG", "Select all")
|
|
map("n", "<C-r>", ":%s/<C-R><C-W>//g<Left><Left>", "Replace word under cursor")
|
|
map({ "n", "v" }, "<C-b>", "^", "Beginning of line")
|
|
map("i", "<C-b>", "<esc>^i", "Beginning of line")
|
|
map({ "i", "n", "v" }, "<C-e>", "<end>", "End of line")
|
|
|
|
-- Buffer management
|
|
map("n", "<C-n>", "<cmd>enew<cr>", "New file")
|
|
map("n", "<C-q>", "<cmd>bd<cr>", "Delete buffer")
|
|
|
|
-- Copy and paste
|
|
map("v", "<C-c>", "y")
|
|
map("n", "<C-v>", '"+p')
|
|
|
|
-- Indenting
|
|
map("v", "<", "<gv")
|
|
map("v", ">", ">gv")
|
|
|
|
-- Shift arrow selection
|
|
map("n", "<S-Up>", "v<Up>")
|
|
map("n", "<S-Down>", "v<Down>")
|
|
map("n", "<S-Left>", "v<Left>")
|
|
map("n", "<S-Right>", "v<Right>")
|
|
|
|
map("v", "<S-Up>", "<Up>")
|
|
map("v", "<S-Down>", "<Down>")
|
|
map("v", "<S-Left>", "<Left>")
|
|
map("v", "<S-Right>", "<Right>")
|
|
|
|
map("i", "<S-Up>", "<Esc>v<Up>")
|
|
map("i", "<S-Down>", "<Esc>v<Down>")
|
|
map("i", "<S-Left>", "<Esc>v<Left>")
|
|
map("i", "<S-Right>", "<Esc>v<Right>")
|
|
|
|
-- LSP
|
|
map("n", "gr", vim.lsp.buf.references, "References")
|
|
map("n", "gd", vim.lsp.buf.definition, "Definition")
|
|
map({ "n", "i" }, "<f1>", vim.lsp.buf.hover, "Hover")
|
|
map({ "n", "i" }, "<f2>", vim.lsp.buf.rename, "Rename")
|
|
map({ "n", "i" }, "<C-f>", vim.lsp.buf.format, "Format")
|
|
map("n", "<leader>ca", vim.lsp.buf.code_action, "Code action")
|
|
|
|
-- Package manager
|
|
map("n", "<leader>l", "<cmd>Lazy<cr>", "Lazy")
|