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
|
vim.g.mapleader = ' '
-- Allow moving of lines with Alt+j and Alt+k.
vim.keymap.set("n", "<A-j>", ":m .+1<CR>==")
vim.keymap.set("n", "<A-k>", ":m .-2<CR>==")
vim.keymap.set("i", "<A-j>", "<Esc>:m .+1<CR>==gi")
vim.keymap.set("i", "<A-k>", "<Esc>:m .-2<CR>==gi")
vim.keymap.set("v", "<A-j>", ":m '>+1<CR>gv=gv")
vim.keymap.set("v", "<A-k>", ":m '<-2<CR>gv=gv")
-- Move between window splits with Ctrl+h, Ctrl+j, Ctrl+k, Ctrl+l
vim.keymap.set("n", "<C-h>", ":wincmd h<CR>")
vim.keymap.set("n", "<C-j>", ":wincmd j<CR>")
vim.keymap.set("n", "<C-k>", ":wincmd k<CR>")
vim.keymap.set("n", "<C-l>", ":wincmd l<CR>")
vim.keymap.set("i", "<C-h>", "<Esc>:wincmd h<CR>")
vim.keymap.set("i", "<C-j>", "<Esc>:wincmd j<CR>")
vim.keymap.set("i", "<C-k>", "<Esc>:wincmd k<CR>")
vim.keymap.set("i", "<C-l>", "<Esc>:wincmd l<CR>")
-- Resize window splits with Ctrl+arrows.
vim.keymap.set("n", "<C-Up>", ":resize +2<CR>")
vim.keymap.set("n", "<C-Down>", ":resize -2<CR>")
vim.keymap.set("n", "<C-Left>", ":vertical resize +2<CR>")
vim.keymap.set("n", "<C-Right>", ":vertical resize -2<CR>")
-- Keep cursor in the center of the window when doing half page jumping.
vim.keymap.set("n", "<C-u>", "<C-u>zz")
vim.keymap.set("n", "<C-d>", "<C-d>zz")
-- Keep cursor in the center of the windows when moving through search results.
vim.keymap.set("n", "n", "nzzzv")
vim.keymap.set("n", "N", "Nzzzv")
-- Stops replaced test from been copied. Preserves what was originally yanked.
vim.keymap.set("x", "<leader>p", [["_dP]])
vim.keymap.set("n", "<leader>d", [["_d]])
-- Append line below to end of current line and do not move cursor to the end of the line.
vim.keymap.set("n", "J", "mzJ`z")
-- Easy insertion of trailing ; or , in insert mode.
vim.keymap.set("i", ";;", "<Esc>A;")
vim.keymap.set("i", ",,", "<Esc>A,")
-- Allow yanking into system clipboard.
vim.keymap.set({"n", "v"}, "<leader>y", [["+y]])
vim.keymap.set("n", "<leader>Y", [["+Y]])
-- Globally replace word that cursor is on.
vim.keymap.set("n", "<leader>s", [[:%s/\<<C-r><C-w>\>/<C-r><C-w>/gI<Left><Left><Left>]])
-- Toggle hidden characters.
vim.keymap.set("n", "<leader>l", function()
vim.opt.list = not(vim.opt.list:get())
end)
|