88 lines
4.0 KiB
Lua
88 lines
4.0 KiB
Lua
-- vim.opt.expandtab = true
|
|
-- vim.opt.hidden = true
|
|
-- vim.opt.incsearch = true
|
|
-- vim.opt.mouse = "a"
|
|
-- vim.opt.number = true
|
|
-- vim.opt.shiftwidth = 2
|
|
-- vim.opt.splitbelow = true
|
|
-- vim.opt.splitright = true
|
|
-- vim.opt.signcolumn = "yes:3"
|
|
-- vim.opt.tabstop = 2
|
|
-- vim.opt.timeoutlen = 0
|
|
-- vim.wo.wrap = false
|
|
-- vim.opt.exrc = true
|
|
-- vim.cmd("syntax on")
|
|
|
|
vim.opt.backup = false -- creates a backup file
|
|
vim.opt.clipboard = "unnamedplus" -- allows neovim to access the system clipboard
|
|
vim.opt.cmdheight = 2 -- more space in the neovim command line for displaying messages
|
|
vim.opt.colorcolumn = "99999" -- fixes indentline for now
|
|
vim.opt.completeopt = { "menuone", "noselect" }
|
|
vim.opt.conceallevel = 0 -- so that `` is visible in markdown files
|
|
vim.opt.fileencoding = "utf-8" -- the encoding written to a file
|
|
vim.opt.foldmethod = "manual" -- folding set to "expr" for treesitter based folding
|
|
vim.opt.foldexpr = "" -- set to "nvim_treesitter#foldexpr()" for treesitter based folding
|
|
vim.opt.guifont = "monospace:h17" -- the font used in graphical neovim applications
|
|
vim.opt.hidden = true -- required to keep multiple buffers and open multiple buffers
|
|
vim.opt.hlsearch = true -- highlight all matches on previous search pattern
|
|
vim.opt.ignorecase = true -- ignore case in search patterns
|
|
vim.opt.mouse = "a" -- allow the mouse to be used in neovim
|
|
vim.opt.pumheight = 10 -- pop up menu height
|
|
vim.opt.showmode = false -- we don't need to see things like -- INSERT -- anymore
|
|
vim.opt.showtabline = 2 -- always show tabs
|
|
vim.opt.smartcase = true -- smart case
|
|
vim.opt.smartindent = true -- make indenting smarter again
|
|
vim.opt.splitbelow = true -- force all horizontal splits to go below current window
|
|
vim.opt.splitright = true -- force all vertical splits to go to the right of current window
|
|
vim.opt.swapfile = false -- creates a swapfile
|
|
vim.opt.termguicolors = true -- set term gui colors (most terminals support this)
|
|
vim.opt.timeoutlen = 100 -- time to wait for a mapped sequence to complete (in milliseconds)
|
|
vim.opt.title = true -- set the title of window to the value of the titlestring
|
|
vim.opt.titlestring = "%<%F%=%l/%L - nvim" -- what the title of the window will be set to
|
|
vim.opt.undodir = vim.fn.stdpath "cache" .. "/undo"
|
|
vim.opt.undofile = true -- enable persistent undo
|
|
vim.opt.updatetime = 300 -- faster completion
|
|
vim.opt.writebackup = false -- if a file is being edited by another program it is not allowed to be edited
|
|
vim.opt.expandtab = true -- convert tabs to spaces
|
|
vim.opt.shiftwidth = 2 -- the number of spaces inserted for each indentation
|
|
vim.opt.tabstop = 2 -- insert 2 spaces for a tab
|
|
vim.opt.cursorline = true -- highlight the current line
|
|
vim.opt.number = true -- set numbered lines
|
|
vim.opt.relativenumber = false -- set relative numbered lines
|
|
vim.opt.numberwidth = 4 -- set number column width to 2 {default 4}
|
|
vim.opt.signcolumn = "yes" -- always show the sign column otherwise text shifts each time
|
|
vim.opt.wrap = false -- display lines as one long line
|
|
vim.opt.spell = false
|
|
vim.opt.spelllang = "en"
|
|
vim.opt.scrolloff = 8 -- keep 8 lines above/below the cursor
|
|
vim.opt.sidescrolloff = 8
|
|
|
|
-- Automatically disable heavy features for very large files
|
|
local largefile_group = vim.api.nvim_create_augroup("LargeFile", { clear = true })
|
|
vim.api.nvim_create_autocmd("BufReadPre", {
|
|
group = largefile_group,
|
|
pattern = "*",
|
|
callback = function(args)
|
|
local max_filesize = 1 * 1024 * 1024 -- 1 MB in bytes
|
|
local file = vim.fn.expand("<afile>")
|
|
if vim.fn.getfsize(file) > max_filesize then
|
|
-- Turn off syntax highlighting
|
|
vim.cmd("syntax off")
|
|
-- Disable Treesitter's highlight for this buffer
|
|
pcall(vim.cmd, "TSBufDisable highlight")
|
|
|
|
-- Optionally disable LSP for this buffer
|
|
for _, client in pairs(vim.lsp.get_active_clients()) do
|
|
if client ~= nil and client.attached_buffers[args.buf] then
|
|
client.detach(args.buf)
|
|
end
|
|
end
|
|
|
|
-- You can also disable or reduce other settings if needed, e.g.:
|
|
vim.opt.foldmethod = "manual"
|
|
vim.opt.wrap = false
|
|
vim.opt.hlsearch = false
|
|
end
|
|
end,
|
|
})
|