You cannot select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
57 lines
1.6 KiB
Lua
57 lines
1.6 KiB
Lua
--------------
|
|
-- init.lua --
|
|
--------------
|
|
|
|
-- Default config
|
|
vim.o.fileencoding = 'utf8'
|
|
vim.o.encoding = 'utf-8'
|
|
vim.o.ff = 'unix'
|
|
vim.o.backspace = 'indent,eol,start'
|
|
|
|
-- Options
|
|
local set_true = { 'title', 'number', 'ruler', 'modeline', 'autoread',
|
|
--- Search options
|
|
'incsearch', 'ignorecase', 'smartcase',
|
|
'showcmd', 'showmatch', 'lazyredraw', 'linebreak', 'wrap',
|
|
'wildmenu', 'wildignorecase', 'showfulltag', }
|
|
local set_false = {'hlsearch', 'compatible', }
|
|
for _,o in ipairs(set_true) do
|
|
vim.o[o] = true
|
|
end
|
|
for _,o in ipairs(set_false) do
|
|
vim.o[o] = false
|
|
end
|
|
--- Indent & Tab options
|
|
vim.cmd 'filetype indent on'
|
|
local indent_options = { 'cindent', 'smartindent', 'autoindent', 'expandtab' }
|
|
local tab_options = { 'tabstop', 'softtabstop', 'shiftwidth' }
|
|
for _,o in ipairs(indent_options) do vim.o[o] = true end
|
|
for _,o in ipairs(tab_options) do vim.o[o] = 2 end
|
|
--- Position
|
|
vim.o.tw = 80
|
|
vim.o.winwidth = 88
|
|
vim.o.scrolloff = 6
|
|
vim.cmd "set formatoptions-=t"
|
|
|
|
-- undodir: undo across sessions (but not upon reboot)
|
|
vim.o.undodir = '/tmp/undo'
|
|
vim.o.undofile = true
|
|
vim.o.backup = false
|
|
|
|
-- Theme
|
|
vim.o.background = "light"
|
|
vim.cmd "colorscheme lunaperche"
|
|
|
|
-- Remappings
|
|
local map_list = {
|
|
--- w| / w- to create vertical and horizontal splits
|
|
['w|'] = ':vsplit', ['w-'] = ':split',
|
|
--- gi / ge to move between buffers
|
|
['gi'] = ':bprevious', ['ge'] = ':bnext',
|
|
--- W to save, ^t to create a tab
|
|
['W'] = ':w', ['<C-t>'] = ':tabnew',
|
|
}
|
|
for key, binding in pairs(map_list) do
|
|
vim.api.nvim_set_keymap('n', key, binding .. '<CR>', { noremap = true, silent = true })
|
|
end
|