forked from brainfucksec/neovim-lua
-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathkeymapping.lua
More file actions
49 lines (40 loc) · 1.51 KB
/
keymapping.lua
File metadata and controls
49 lines (40 loc) · 1.51 KB
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
-----------------------------------------------------------
-- Keymapping
--- Keymaps configuration file, keymaps of neovim
--- and plugins.
-----------------------------------------------------------
local map = vim.api.nvim_set_keymap
local default = {noremap = true, silent = true}
-- Neovim shortcuts:
-- basic autopair
map('i', '"', '""<left>', default)
map('i', '`', '``<left>', default)
map('i', '(', '()<left>', default)
map('i', '[', '[]<left>', default)
map('i', '{', '{}<left>', default)
map('i', '{<CR>', '{<CR}<ESC>0', default)
map('i', '{;<CR>', '{<CR};<ESC>0', default)
-- clear search highlighting
map('n', '<leader>c', ':nohl<CR>', default)
-- press kk to exit
map('i', 'kk', '<Esc>', {noremap = true})
-- don't use arrow keys
map('', '<up>', '<nop>', {noremap = true})
map('', '<down>', '<nop>', {noremap = true})
map('', '<left>', '<nop>', {noremap = true})
map('', '<right>', '<nop>', {noremap = true})
-- fast saving
map('n', '<leader>s', ':w<cr>', default)
map('i', '<leader>s', '<C-c>:w<cr>', default)
-- move around splits using Ctrl + {h,j,k,l}
map('n', '<C-h>', '<C-w>h', default)
map('n', '<C-j>', '<C-w>j', default)
map('n', '<C-k>', '<C-w>k', default)
map('n', '<C-l>', '<C-w>l', default)
-- Plugins shortcuts:
-- nvim-tree
map('n', '<C-n>', ':NvimTreeToggle<CR>', default) -- open/close
map('n', '<leader>r', ':NvimTreeRefresh<CR>', default) -- refresh
map('n', '<leader>n', ':NvimTreeFindFile<CR>', default) -- search file
-- Vista
map('', '<C-m>', ':Vista<CR>', default) -- open/close vista window