nvim/lua/config/keymaps.lua 1.6 K raw
1
local opts = { noremap = true, silent = true }
2
local map = vim.api.nvim_set_keymap
3
4
-- format
5
-- Fast saving
6
map("n", "++", "<cmd>write!<CR>", opts)
7
8
-- Some useful quickfix shortcuts for quickfix
9
map("n", "<C-n>", "<cmd>cnext<CR>zz", opts)
10
map("n", "<C-m>", "<cmd>cprev<CR>zz", opts)
11
map("n", "<leader>a", "<cmd>cclose<CR>", opts)
12
13
-- Exit on jj and jk
14
map("n", "j", "gj", opts)
15
map("n", "k", "gk", opts)
16
17
-- Exit on jj and jk
18
map("i", "jj", "<ESC>", opts)
19
map("i", "jk", "<ESC>", opts)
20
21
-- Remove search highlight
22
map("n", "<leader>h", "<cmd>nohlsearch<CR>", opts)
23
24
-- Grab text between curly braces
25
map("n", "YY", "va{Vy", opts)
26
27
-- goodies
28
map("n", "n", "nzzzv", opts)
29
map("n", "N", "Nzzzv", opts)
30
map("n", "J", "mzJ`z", opts)
31
map("n", "<C-d>", "<C-d>zz", opts)
32
map("n", "<C-u>", "<C-u>zz", opts)
33
34
-- Navigate buffers
35
map("n", "<S-l>", ":bnext<CR>", opts)
36
map("n", "<S-h>", ":bprevious<CR>", opts)
37
38
-- If I visually select words and paste from clipboard, don't replace my
39
-- clipboard with the selected word, instead keep my old word in the
40
-- clipboard
41
map("x", "p", '"_dP', opts)
42
43
-- Better split switching
44
-- map("n", "<C-h>", "<C-w>h", opts)
45
-- map("n", "<C-j>", "<C-w>j", opts)
46
-- map("n", "<C-k>", "<C-w>k", opts)
47
-- map("n", "<C-l>", "<C-w>l", opts)
48
49
-- Visual --
50
-- Stay in indent mode
51
map("v", "<", "<gv", opts)
52
map("v", ">", ">gv", opts)
53
54
-- Visually select lines, and move them up/down
55
map("v", "J", ":m '>+1<CR>gv=gv", opts)
56
map("v", "K", ":m '<-2<CR>gv=gv", opts)
57
58
map("n", "<leader>c", ":bd<cr>", opts)
59
60
map("n", "<leader>dd", "<cmd>lua vim.diagnostic.open_float({ border = 'rounded' })<CR>", opts)