69 lines
2.2 KiB
Lua
Raw Normal View History

2023-08-22 14:51:35 +00:00
local function map(mode, lhs, rhs, info)
2023-08-20 22:09:00 +00:00
vim.keymap.set(mode, lhs, rhs, { desc = info })
end
2023-08-19 17:22:56 +00:00
2023-08-20 22:09:00 +00:00
-- Basics
2023-08-21 17:19:37 +00:00
map("n", ";", ":", "Command mode")
2023-08-22 14:51:35 +00:00
map("n", "U", "<cmd>redo<cr>", "Redo")
2023-08-21 17:19:37 +00:00
map({ "i", "n" }, "<esc>", "<cmd>noh<cr><esc>", "Clear search")
2024-03-04 23:40:49 +00:00
map({"n", "v"}, "<leader>q", "<cmd>qa!<cr>", "Quit all")
-- Buffer management
map("n", "<C-n>", "<cmd>enew<cr>", "New file")
map({ "i", "n", "s", "v" }, "<C-s>", "<cmd>w<cr><esc>", "Save file")
map("n", "<C-q>", "<cmd>bd<cr>", "Delete buffer")
-- Copy and paste
map("v", "<C-c>", "y")
map("n", "<C-v>", '"+P<right>')
2024-03-03 16:47:02 +00:00
-- Editing lines
2023-08-22 14:51:35 +00:00
map({ "n", "v" }, "<C-b>", "^", "Beginning of line")
2023-08-21 17:19:37 +00:00
map("i", "<C-b>", "<esc>^i", "Beginning of line")
2023-08-22 14:51:35 +00:00
map({ "i", "n", "v" }, "<C-e>", "<end>", "End of line")
2024-03-03 16:47:02 +00:00
map("n", "<C-l>", "^Da", "Rewrite line")
map("i", "<C-l>", "<esc>^Da", "Rewrite line")
map("v", "<C-l>", "V", "Select line")
2024-03-04 23:40:49 +00:00
map("n", "<C-Enter>", "i<Enter>", "Split line")
2024-03-03 16:47:02 +00:00
map({"n", "v"}, "<C-a>", "<esc>ggVG", "Select all")
2024-03-02 16:06:30 +00:00
-- Editing multiple instances
2024-03-03 16:47:02 +00:00
map("n", "<f3>", "*#", "Search word under cursor")
map("v", "<f3>", "y/<C-r>\"<cr>N", "Search selection")
map("n", "<C-d>", "viw", "Select word under cursor")
2024-03-02 16:06:30 +00:00
map("v", "<C-d>", "y/<C-r>\"<cr>N", "Search selection")
2024-03-03 16:47:02 +00:00
map("n", "<C-r>", "*#:%s//<C-r><C-w>/g<left><left>", "Replace word under cursor")
map("v", "<C-r>", "y/<C-r>\"<cr>N:%s//<C-r>\"/g<left><left>", "Replace selection")
2024-03-02 16:06:30 +00:00
2024-03-04 23:40:49 +00:00
-- Indenting
map("n", "<Tab>", "V>gv<esc>")
map("n", "<S-Tab>", "V<gv<esc>")
map("v", "<Tab>", ">gv")
map("v", "<S-Tab>", "<gv")
2024-03-02 16:06:30 +00:00
-- Increasing and decreasing numbers
map("n", "+", "<C-a>", "Increase number")
map("n", "-", "<C-x>", "Decrease number")
map("n", "<kPlus>", "<C-a>", "Increase number")
map("n", "<kMinus>", "<C-x>", "Decrease number")
2024-03-04 23:40:49 +00:00
map("n", "<Bslash>", "<cmd>ToggleWord<cr>", "Toggle word")
2023-08-19 17:22:56 +00:00
2024-03-04 23:40:49 +00:00
-- Package manager
map("n", "<leader>l", "<cmd>Lazy<cr>", "Lazy")
2023-08-19 17:22:56 +00:00
2024-01-22 14:04:33 +00:00
-- 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>")