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
|
local keymap = vim.keymap
-- <leader> -> \
vim.g.mapleader = "\\"
keymap.set("n", "<leader>pv", vim.cmd.Ex)
-- alter indentation in visual mode
keymap.set("v", "<", "<gv")
keymap.set("v", ">", ">gv")
-- Grab visual selection and place the line(s) anywhere
keymap.set("v", "J", ":m '>+1<CR>gv=gv")
keymap.set("v", "K", ":m '<-2<CR>gv=gv")
-- Half-page Navigation, position preservation
keymap.set("n", "<C-d>", "<C-d>zz")
keymap.set("n", "<C-u>", "<C-u>zz")
-- file-wide replace-substitution
keymap.set("n", "<leader>r", [[:%s/\<<C-r><C-w>\>/<C-r><C-w>/gI<Left><Left><Left>]])
-- Make it executable
keymap.set("n", "<leader>x", "<cmd>!chmod +x %<CR>", { silent = true })
-- Map CTRL-BS -> CTRL-W (delete prev. word)
keymap.set("i", "<C-h>", "<C-\\><C-o>db", { noremap = true, silent = true })
-- 2 fewer keystrokes to enter another file
keymap.set("n", "E", ":e ")
-- Get rid of this shit
vim.api.nvim_set_keymap('n', 'q:', '<Nop>', { noremap = true, silent = true })
--[[-- Tabs --]]
-- Open a new tab
keymap.set("n", "<M-n>", ":tabnew ", { noremap = true })
-- Close the current tab
keymap.set("n", "<C-n>", ":tabclose<CR>", { noremap = true, silent = true })
-- Switch to the next tab (Normal, Insert, and Command modes)
keymap.set("n", "<M-Tab>", ":<C-U>tabnext<CR>", { noremap = true })
keymap.set("i", "<M-Tab>", "<C-\\><C-N>:tabnext<CR>", { noremap = true })
keymap.set("c", "<M-Tab>", "<C-C>:tabnext<CR>", { noremap = true })
-- Switch to the previous tab (Normal, Insert, and Command modes)
keymap.set("n", "<S-Tab>", ":<C-U>tabprevious<CR>", { noremap = true })
keymap.set("i", "<S-Tab>", "<C-\\><C-N>:tabprevious<CR>", { noremap = true })
keymap.set("c", "<S-Tab>", "<C-C>:tabprevious<CR>", { noremap = true })
-- Enable Spell Check
keymap.set("n", "<leader>s", ":setlocal spell! spelllang=en_us<CR>", { silent = true })
|