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
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
|
-- define common options
local opts = {
noremap = true, -- non-recursive
silent = true, -- do not show message
}
-- set leader key
vim.g.mapleader = "'"
-----------------
-- Normal mode --
-----------------
-- Hint: set `:h vim.map.set()`
-- Better window navigation
vim.keymap.set('n', '<C-h>', '<C-w>h', opts)
vim.keymap.set('n', '<C-j>', '<C-w>j', opts)
vim.keymap.set('n', '<C-k>', '<C-w>k', opts)
vim.keymap.set('n', '<C-l>', '<C-w>l', opts)
-- Resize with arrows
vim.keymap.set('n', '<C-Up>', ':resize -2<CR>', opts)
vim.keymap.set('n', '<C-Down>', ':resize +2<CR>', opts)
vim.keymap.set('n', '<C-Left>', ':vertical resize -2<CR>', opts)
vim.keymap.set('n', '<C-Right>', ':vertical resize +2<CR>', opts)
vim.keymap.set('n', '<leader>wh :vertical resize', '-1<CR>')
vim.keymap.set('n', '<leader>wj :resize', '-1<CR>')
vim.keymap.set('n', '<leader>wk :resize', '+1<CR>')
vim.keymap.set('n', '<leader>wl :vertical resize', '+1<CR>')
-- NerdTREE
vim.keymap.set('n', '<leader>tt', ':NERDTreeToggle<CR>')
-- files
-- these may go away soon
vim.keymap.set('n', '<leader>xx', ':q<CR>')
vim.keymap.set('n', '<leader>x!', ':q!<CR>')
-- Close with leader
vim.keymap.set('n', '<leader>ww', ':w<CR>', opts)
vim.keymap.set('n', '<leader>qq', ':q<CR>', opts)
vim.keymap.set('n', '<leader>wq', ':wq<CR>', opts)
vim.keymap.set('n', '<leader>q!', ':q!<CR>', opts)
vim.keymap.set('n', '<leader>wq', ':wq<CR>')
vim.keymap.set('n', '<leader>ee :e', '')
-- Tabs with leader
vim.keymap.set('n', '<leader>th', ':tabprevious<CR>', opts)
vim.keymap.set('n', '<leader>tl', ':tabnext<CR>', opts)
vim.keymap.set('n', '<leader>tk', ':tabnew<CR>', opts)
vim.keymap.set('n', '<leader>tj', ':tabclose<CR>', opts)
-- Write with sudo
vim.keymap.set('n', 'ZW', ':w !pkexec tee % >/dev/null', opts)
-- clear search highlights
vim.keymap.set('n', '<leader>/', ':noh<CR>')
-- toggles
vim.keymap.set('n', '<leader>tn :set', 'number!<CR>')
vim.keymap.set('n', '<leader>tr :set', 'relativenumber!<CR>')
-- write as root
vim.keymap.set('n', 'ZW', ':w !pkexec tee % >/dev/null')
-- config
vim.keymap.set('n', '<leader>en', ':e ~/.config/nvim/init.lua<CR>')
vim.keymap.set('n', '<leader>ec', ':source %<CR>')
vim.keymap.set('n', '<leader>er', ':source ~/.config/nvim/init.lua<CR>')
-- Goyo
vim.keymap.set('n', '<leader>G', ':Goyo<CR>')
-- fugitive
vim.keymap.set('n', '<leader>gp :G', 'pull<CR>')
vim.keymap.set('n', '<leader>gd :G diff', '%<CR>')
-----------------
-- Visual mode --
-----------------
-- Hint: start visual mode with the same area as the previous area and the same mode
--vim.keymap.set('v', '<', '<gv', opts)
--vim.keymap.set('v', '>', '>gv', opts)
-- windows
vim.keymap.set('v', '<C-h>', '<C-w>h')
vim.keymap.set('v', '<C-j>', '<C-w>j')
vim.keymap.set('v', '<C-k>', '<C-w>k')
vim.keymap.set('v', '<C-l>', '<C-w>l')
--------------
-- TERMINAL --
--------------
-- escape for term windows
vim.keymap.set('t', '<Esc>', '<C-\\><C-n>')
|