2021-06-26 04:36:26 +02:00
|
|
|
local opt = vim.opt
|
2021-07-14 07:24:09 +02:00
|
|
|
local g = vim.g
|
2021-06-26 04:36:26 +02:00
|
|
|
|
2021-07-19 03:10:38 +02:00
|
|
|
-- Turn these off at startup, will be enabled later just before loading the theme
|
|
|
|
vim.cmd([[
|
|
|
|
syntax off
|
|
|
|
filetype off
|
|
|
|
filetype plugin indent off
|
|
|
|
]])
|
|
|
|
|
2021-06-26 04:36:26 +02:00
|
|
|
opt.ruler = false
|
|
|
|
opt.hidden = true
|
|
|
|
opt.ignorecase = true
|
|
|
|
opt.splitbelow = true
|
|
|
|
opt.splitright = true
|
|
|
|
opt.termguicolors = true
|
|
|
|
opt.cul = true
|
|
|
|
opt.mouse = "a"
|
|
|
|
opt.signcolumn = "yes"
|
|
|
|
opt.cmdheight = 1
|
|
|
|
opt.updatetime = 250 -- update interval for gitsigns
|
2021-07-13 12:46:57 +02:00
|
|
|
opt.timeoutlen = 400
|
2021-06-26 04:36:26 +02:00
|
|
|
opt.clipboard = "unnamedplus"
|
2021-03-13 11:51:52 +01:00
|
|
|
|
2021-07-14 06:57:33 +02:00
|
|
|
-- disable nvim intro
|
|
|
|
opt.shortmess:append("sI")
|
|
|
|
|
|
|
|
-- disable tilde on end of buffer: https://github.com/ neovim/neovim/pull/8546#issuecomment-643643758
|
2021-07-19 02:58:28 +02:00
|
|
|
vim.cmd("let &fcs='eob: '")
|
2021-07-14 06:57:33 +02:00
|
|
|
|
2021-06-16 02:50:47 +02:00
|
|
|
-- Numbers
|
2021-06-26 04:36:26 +02:00
|
|
|
opt.number = true
|
|
|
|
opt.numberwidth = 2
|
2021-07-04 11:08:08 +02:00
|
|
|
-- opt.relativenumber = true
|
2021-06-16 02:50:47 +02:00
|
|
|
|
2021-07-16 19:52:36 +02:00
|
|
|
-- Indenline
|
2021-06-26 04:36:26 +02:00
|
|
|
opt.expandtab = true
|
|
|
|
opt.shiftwidth = 2
|
|
|
|
opt.smartindent = true
|
2021-06-15 18:14:11 +02:00
|
|
|
|
2021-07-17 11:04:36 +02:00
|
|
|
-- go to previous/next line with h,l,left arrow and right arrow
|
|
|
|
-- when cursor reaches end/beginning of line
|
|
|
|
opt.whichwrap:append("<>hl")
|
|
|
|
|
2021-07-14 07:24:09 +02:00
|
|
|
g.mapleader = " "
|
|
|
|
g.auto_save = false
|
|
|
|
|
2021-06-26 04:08:44 +02:00
|
|
|
-- disable builtin vim plugins
|
2021-07-20 20:19:31 +02:00
|
|
|
local disabled_built_ins = {
|
|
|
|
"netrw",
|
|
|
|
"netrwPlugin",
|
|
|
|
"netrwSettings",
|
|
|
|
"netrwFileHandlers",
|
|
|
|
"gzip",
|
|
|
|
"zip",
|
|
|
|
"zipPlugin",
|
|
|
|
"tar",
|
|
|
|
"tarPlugin",
|
|
|
|
"getscript",
|
|
|
|
"getscriptPlugin",
|
|
|
|
"vimball",
|
|
|
|
"vimballPlugin",
|
|
|
|
"2html_plugin",
|
|
|
|
"logipat",
|
|
|
|
"rrhelper",
|
|
|
|
"spellfile_plugin"
|
|
|
|
}
|
|
|
|
|
|
|
|
for _, plugin in pairs(disabled_built_ins) do
|
|
|
|
vim.g["loaded_" .. plugin] = 1
|
|
|
|
end
|
2021-06-26 04:08:44 +02:00
|
|
|
|
2021-03-08 06:24:53 +01:00
|
|
|
local M = {}
|
|
|
|
|
|
|
|
function M.is_buffer_empty()
|
2021-03-13 02:23:02 +01:00
|
|
|
-- Check whether the current buffer is empty
|
|
|
|
return vim.fn.empty(vim.fn.expand("%:t")) == 1
|
2021-03-08 06:24:53 +01:00
|
|
|
end
|
|
|
|
|
|
|
|
function M.has_width_gt(cols)
|
2021-03-13 02:23:02 +01:00
|
|
|
-- Check if the windows width is greater than a given number of columns
|
|
|
|
return vim.fn.winwidth(0) / 2 > cols
|
2021-03-08 06:24:53 +01:00
|
|
|
end
|
2021-06-26 04:08:44 +02:00
|
|
|
|
2021-06-03 20:49:52 +02:00
|
|
|
-- file extension specific tabbing
|
2021-06-26 04:08:44 +02:00
|
|
|
-- vim.cmd([[autocmd Filetype python setlocal expandtab tabstop=4 shiftwidth=4 softtabstop=4]])
|
2021-06-26 14:50:25 +02:00
|
|
|
|
2021-03-08 06:24:53 +01:00
|
|
|
return M
|