-
Notifications
You must be signed in to change notification settings - Fork 0
/
init.lua
66 lines (56 loc) · 1.55 KB
/
init.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
--- Settings
local opt = vim.opt
opt.mouse = "a"
opt.linebreak = true
opt.background = "dark"
opt.shortmess = "I"
opt.termguicolors = true
opt.ignorecase = true
opt.smartcase = true
opt.incsearch = true
opt.showmatch = true
opt.hlsearch = true
opt.gdefault = true
opt.equalalways = true
opt.splitbelow = true
opt.splitright = true
opt.wildmenu = true
opt.wildoptions = "pum"
opt.wildignorecase = true
opt.clipboard = "unnamedplus"
opt.laststatus=0
--- Auto-commands
local augroup = vim.api.nvim_create_augroup -- Create/get autocommand group
local autocmd = vim.api.nvim_create_autocmd -- Create autocommand
-- Remove whitespace on save
autocmd('BufWritePre', {
pattern = '*',
command = ":%s/\\s\\+$//e"
})
-- Don't auto commenting new lines
autocmd('BufEnter', {
pattern = '*',
command = 'set fo-=c fo-=r fo-=o'
})
--- Keymaps
-- Change leader to a space
vim.g.mapleader = " "
vim.g.maplocalleader = " "
-- Disable arrow keys
vim.keymap.set('', 'q', '<nop>')
vim.keymap.set('', 'Q', '<nop>')
vim.keymap.set('', '<up>', '<nop>')
vim.keymap.set('', '<down>', '<nop>')
vim.keymap.set('', '<left>', '<nop>')
vim.keymap.set('', '<right>', '<nop>')
-- Disable Recording & Ex Mode
vim.keymap.set('', 'q', '<nop>')
vim.keymap.set('', 'Q', '<nop>')
-- : to ;
vim.keymap.set("n", ";", ":", { noremap = true })
-- Copies the contents of the entire file to clipboard
vim.keymap.set("n", "<C-y>", ":%y+<CR>")
-- Close all windows and exit from Neovim.
vim.keymap.set('n', '<C-q>', ':qa!<CR>')
--- Abbreviations
vim.cmd('luafile $HOME/.config/nvim/abbreviations/abbreviations.lua')