aboutsummaryrefslogtreecommitdiff
path: root/.config/nvim/lua/map.lua
blob: a0af88a9c0cab623ca4746b4968181758a635022 (plain)
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
vim.g.mapleader = " "

local nv = {"n", "v"}

vim.keymap.set(nv, "gm", "gM", {})
vim.keymap.set(nv, "gM", "gMi", {})

-- Make exiting insert mode in terminal mode easier
vim.keymap.set("t", "<ESC>", "<C-\\><C-n>", {})

-- Center when moving around at high speeds
vim.keymap.set(nv, "<C-u>", "<C-u>zz", {})
vim.keymap.set(nv, "<C-d>", "<C-d>zz", {})
vim.keymap.set(nv, "G", "Gzz", {})

-- Make going to the end of a line as easy as going to the beginning
vim.keymap.set({"n", "v", "o"}, "+", "$", {})

-- Yanking and pasting
vim.keymap.set(nv, "<leader>y", "\"+y", {})
vim.keymap.set(nv, "<leader>p", "\"+p", {})
vim.keymap.set("x", "p", "\"_dP", {})
vim.keymap.set("x", "<leader>P", "p", {})

-- Commands
vim.keymap.set(nv, "<leader>c", "<CMD>set invhlsearch<CR>", {silent=true})
vim.keymap.set("n", "{", "<CMD>cp<CR>", {silent=true})
vim.keymap.set("n", "}", "<CMD>cn<CR>", {silent=true})

-- Common typo with me
vim.api.nvim_create_user_command("W",   "w",   {bang=true})
vim.api.nvim_create_user_command("Wa",  "wa",  {bang=true})
vim.api.nvim_create_user_command("Wq",  "wq",  {bang=true})
vim.api.nvim_create_user_command("Wqa", "wqa", {bang=true})
vim.api.nvim_create_user_command("Q",   "q",   {bang=true})
vim.api.nvim_create_user_command("Qa",  "qa",  {bang=true})

vim.api.nvim_create_user_command("ClangFormat", "!clang-format -i %", {})