-
Notifications
You must be signed in to change notification settings - Fork 5
/
keymaps.lua
109 lines (90 loc) · 3.23 KB
/
keymaps.lua
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
98
99
100
101
102
103
104
105
106
107
108
109
--[[------------------------------------]]--
-- keymaps - general mappings --
-- Author: elai --
-- License: GPLv3 --
--[[------------------------------------]]--
-- Shorten function name
local map = vim.keymap.set
local opts = { noremap = true, silent = true }
local term_opts = { silent = true }
-- Remap space as leader key
map("", "<Space>", "<Nop>", {})
vim.g.mapleader = " "
vim.g.maplocalleader = " "
-----------------
-- Normal Mode --
-----------------
-- Mappings for moving through splits
map("n", "<A-h>", "<C-w>h", {})
map("n", "<A-j>", "<C-w>j", {})
map("n", "<A-k>", "<C-w>k", {})
map("n", "<A-l>", "<C-w>l", {})
-- Resize current buffer by +/- 2
map("n", "<C-h>", ":vertical resize +2<cr>", {})
map("n", "<C-j>", ":resize +2<cr>", {})
map("n", "<C-k>", ":resize -2<cr>", {})
map("n", "<C-l>", ":vertical resize -2<cr>", {})
-- Alternate way to save and quit nvim
map("n", "<A-w>", ":w<CR>", {}) -- save file
map("n", "<A-q>", ":q<CR>", {}) -- quit nvim
map("n", "<A-1>", ":q!<CR>", {}) -- quit without saving
-- Nvim Comment
map("n", "<leader>c", ":CommentToggle<CR>", {}) -- Comment One Line
map("n", "<leader>p", "vip:CommentToggle<CR>", {}) -- Comment A Paragraph
map("x", "<leader>c", ":'<,'>CommentToggle<CR>", {}) -- Comment Multiple Lines In Visual Mode
-- Don't accidently create macros when trying to quit
map('n', 'Q', 'q', {})
map('n', 'q', '<nop>', {})
-- GitSings
map('n', "<leader>gp", ":Gitsigns preview_hunk<CR>", {}) -- preview_hunk
map('n', "<leader>gr", ":Gitsigns reset_buffer<CR>", {}) -- reset_buffer
-- Toggle Alpha Dashboard
map('n', "<leader>a", ":set laststatus=3<CR> | :Alpha<CR>", {})
-- Toggle NvimTree
map("n", "<leader>e", ":NvimTreeToggle<CR>", {})
-- Yank entire line
map("n", "yie", ":<C-u>%y<CR>", {})
-- Packer Update
map("n", "<leader>u", ":PackerSync<CR>", {})
-- Telescope Mappings
map("n", "<Leader>b", "<cmd>lua require'telescope.builtin'.buffers(require('telescope.themes').get_dropdown({ previewer = false }))<cr>", {}) -- preview buffers
map("n", "<Leader>of", "<cmd>lua require'telescope.builtin'.oldfiles(require('telescope.themes').get_dropdown({ previewer = false }))<cr>", {}) -- old files
map("n", "<Leader>f", "<cmd>lua require'telescope.builtin'.find_files(require('telescope.themes').get_dropdown({ previewer = false }))<cr>", {}) -- Find files
map("n", "<leader>gs", ":Telescope git_status<CR>", {}) -- git status
-----------------
-- Insert Mode --
-----------------
-- Map Escape Key To kj
map ("i", "kj", "<ESC>", {})
-- Fix One [Car] behind
map ("i", "<Esc>", "<Esc>`^", {})
-- Center screen after search
vim.cmd([[
nnoremap n nzzzv
nnoremap N Nzzzv
]])
-- Auto Pairs
vim.cmd([[
inoremap ( ()<left>
inoremap [ []<left>
inoremap { {}<left>
inoremap {<CR> {<CR>}<ESC>0
inoremap {;<CR> {<CR>};<ESC>0
nnoremap <Leader>o o<Esc>^Da
nnoremap <Leader>O O<Esc>^Da
inoremap <expr><TAB> pumvisible() ? "\<C-n>" : "\<TAB>"
inoremap " ""<left>
inoremap ' ''<left>
]])
-----------------
-- Visual Mode --
-----------------
-- Move Text Up And Down
vim.cmd([[
nnoremap <C-A-J> :m .+1<CR>==
nnoremap <C-A-K> :m .-2<CR>==
inoremap <C-A-J> <Esc>:m .+1<CR>==gi
inoremap <C-A-K> <Esc>:m .-2<CR>==gi
vnoremap <C-A-J> :m '>+1<CR>gv=gv
vnoremap <C-A-K> :m '<-2<CR>gv=gv
]])