aboutsummaryrefslogtreecommitdiff
path: root/neovim/.config/nvim/lua/keybinds.lua
blob: d1135737eaf6ed847a9fa68f57c853ece64ec419 (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
39
40
41
map = function(m, k, v)
  vim.keymap.set(m, k, v, { silent = true })
end

-- Fix * (Keep the cursor position, don't move to next match)
map("n", "*", "*N")

-- Fix n and N. Keeping cursor in center
map("n", "n", "nzz")
map("n", "N", "Nzz")

-- Move line up and down in NORMAL and VISUAL modes
map("n", "<A-j>", "<cmd>move .+1<cr>")
map("n", "<A-k>", "<cmd>move .-2<cr>")
map("x", "<A-j>", ":move '>+1<cr>gv=gv")
map("x", "<A-k>", ":move '<-2<cr>gv=gv")

-- map("n", "<C-space>", ":Files<CR>")
map("n", "<C-c>", ":!compile %<cr><cr>")

-- Mimic shell movements
-- map("i", "<C-E>", "<ESC>A")
-- map("i", "<C-A>", "<ESC>I")

-- Move to the next/previous buffer
-- map("n", "<leader>[", "<CMD>bp<CR>")
-- map("n", "<leader>]", "<CMD>bn<CR>")

-- Move to last buffer
-- map("n", """", "<CMD>b#<CR>")

-- Plugin
map("n", "<C-f>", "<cmd>TodoTelescope<cr>")

-- Hacky update thing
-- TODO: Fix timing
map("n", "<leader>u", "<cmd>PackerSync<cr><cmd>PackerCompile<cr><cmd>TSUpdate<cr><cmd>Mason<cr>")

exp = {}
exp.map = map