From 9125fe9e3b70517b2e65dbab34aa945930609544 Mon Sep 17 00:00:00 2001 From: Locke D Date: Fri, 14 Jun 2024 20:14:11 +1000 Subject: [PATCH] Initial commit --- README.md | 1 + init.lua | 1 + lazy-lock.json | 28 +++++++++ lua/haelnorr/init.lua | 33 ++++++++++ lua/haelnorr/lazy/colors.lua | 6 ++ lua/haelnorr/lazy/fugitive.lua | 44 +++++++++++++ lua/haelnorr/lazy/harpoon.lua | 20 ++++++ lua/haelnorr/lazy/init.lua | 9 +++ lua/haelnorr/lazy/lsp.lua | 104 +++++++++++++++++++++++++++++++ lua/haelnorr/lazy/snippets.lua | 29 +++++++++ lua/haelnorr/lazy/telescope.lua | 30 +++++++++ lua/haelnorr/lazy/tmuxnav.lua | 17 +++++ lua/haelnorr/lazy/treesitter.lua | 46 ++++++++++++++ lua/haelnorr/lazy/trouble.lua | 23 +++++++ lua/haelnorr/lazy/undotree.lua | 9 +++ lua/haelnorr/lazy/vimbegood.lua | 10 +++ lua/haelnorr/lazy/zenmode.lua | 34 ++++++++++ lua/haelnorr/lazy_init.lua | 17 +++++ lua/haelnorr/remap.lua | 39 ++++++++++++ lua/haelnorr/set.lua | 29 +++++++++ 20 files changed, 529 insertions(+) create mode 100644 README.md create mode 100644 init.lua create mode 100644 lazy-lock.json create mode 100644 lua/haelnorr/init.lua create mode 100644 lua/haelnorr/lazy/colors.lua create mode 100644 lua/haelnorr/lazy/fugitive.lua create mode 100644 lua/haelnorr/lazy/harpoon.lua create mode 100644 lua/haelnorr/lazy/init.lua create mode 100644 lua/haelnorr/lazy/lsp.lua create mode 100644 lua/haelnorr/lazy/snippets.lua create mode 100644 lua/haelnorr/lazy/telescope.lua create mode 100644 lua/haelnorr/lazy/tmuxnav.lua create mode 100644 lua/haelnorr/lazy/treesitter.lua create mode 100644 lua/haelnorr/lazy/trouble.lua create mode 100644 lua/haelnorr/lazy/undotree.lua create mode 100644 lua/haelnorr/lazy/vimbegood.lua create mode 100644 lua/haelnorr/lazy/zenmode.lua create mode 100644 lua/haelnorr/lazy_init.lua create mode 100644 lua/haelnorr/remap.lua create mode 100644 lua/haelnorr/set.lua diff --git a/README.md b/README.md new file mode 100644 index 0000000..586fdeb --- /dev/null +++ b/README.md @@ -0,0 +1 @@ +Haelnorr's NeoVim config diff --git a/init.lua b/init.lua new file mode 100644 index 0000000..666e830 --- /dev/null +++ b/init.lua @@ -0,0 +1 @@ +require("haelnorr") diff --git a/lazy-lock.json b/lazy-lock.json new file mode 100644 index 0000000..44f8bb1 --- /dev/null +++ b/lazy-lock.json @@ -0,0 +1,28 @@ +{ + "LuaSnip": { "branch": "master", "commit": "03c8e67eb7293c404845b3982db895d59c0d1538" }, + "cellular-automaton.nvim": { "branch": "main", "commit": "b7d056dab963b5d3f2c560d92937cb51db61cb5b" }, + "cmp-buffer": { "branch": "main", "commit": "3022dbc9166796b644a841a02de8dd1cc1d311fa" }, + "cmp-cmdline": { "branch": "main", "commit": "d250c63aa13ead745e3a40f61fdd3470efde3923" }, + "cmp-nvim-lsp": { "branch": "main", "commit": "39e2eda76828d88b773cc27a3f61d2ad782c922d" }, + "cmp-path": { "branch": "main", "commit": "91ff86cd9c29299a64f968ebb45846c485725f23" }, + "cmp_luasnip": { "branch": "master", "commit": "05a9ab28b53f71d1aece421ef32fee2cb857a843" }, + "fidget.nvim": { "branch": "main", "commit": "ef99df04a1c53a453602421bc0f756997edc8289" }, + "friendly-snippets": { "branch": "main", "commit": "700c4a25caacbb4648c9a27972c2fe203948e0c2" }, + "harpoon": { "branch": "harpoon2", "commit": "0378a6c428a0bed6a2781d459d7943843f374bce" }, + "lazy.nvim": { "branch": "main", "commit": "eb4957442e3182f051b0ae11da32e06d22c190e3" }, + "mason-lspconfig.nvim": { "branch": "main", "commit": "37a336b653f8594df75c827ed589f1c91d91ff6c" }, + "mason.nvim": { "branch": "main", "commit": "0950b15060067f752fde13a779a994f59516ce3d" }, + "nvim": { "branch": "main", "commit": "c0bea773a09e49e123136b099bce9ddc1bf395d2" }, + "nvim-cmp": { "branch": "main", "commit": "a110e12d0b58eefcf5b771f533fc2cf3050680ac" }, + "nvim-lspconfig": { "branch": "master", "commit": "37f362ef42d1a604d332e8d3d7d47593852b4313" }, + "nvim-treesitter": { "branch": "master", "commit": "8dd40c7609c04d7bad7eb21d71f78c3fa4dc1c2c" }, + "plenary": { "branch": "master", "commit": "a3e3bc82a3f95c5ed0d7201546d5d2c19b20d683" }, + "plenary.nvim": { "branch": "master", "commit": "a3e3bc82a3f95c5ed0d7201546d5d2c19b20d683" }, + "telescope.nvim": { "branch": "master", "commit": "d90956833d7c27e73c621a61f20b29fdb7122709" }, + "trouble.nvim": { "branch": "main", "commit": "e0b35a273df58b03612255783cf475a782ede7e0" }, + "undotree": { "branch": "master", "commit": "56c684a805fe948936cda0d1b19505b84ad7e065" }, + "vim-be-good": { "branch": "master", "commit": "4fa57b7957715c91326fcead58c1fa898b9b3625" }, + "vim-fugitive": { "branch": "master", "commit": "64d6cafb9dcbacce18c26d7daf617ebb96b273f3" }, + "vim-tmux-navigator": { "branch": "master", "commit": "5b3c701686fb4e6629c100ed32e827edf8dad01e" }, + "zen-mode.nvim": { "branch": "main", "commit": "78557d972b4bfbb7488e17b5703d25164ae64e6a" } +} \ No newline at end of file diff --git a/lua/haelnorr/init.lua b/lua/haelnorr/init.lua new file mode 100644 index 0000000..4373b16 --- /dev/null +++ b/lua/haelnorr/init.lua @@ -0,0 +1,33 @@ +require("haelnorr.set") +require("haelnorr.remap") +require("haelnorr.lazy_init") + +local augroup = vim.api.nvim_create_augroup +local HaelnorrGroup = augroup('Haelnorr', {}) + +local autocmd = vim.api.nvim_create_autocmd + +function R(name) + require("plenary.reload").reload_module(name) +end + +autocmd('LspAttach', { + group = HaelnorrGroup, + callback = function(e) + local opts = { buffer = e.buf } + vim.keymap.set("n", "gd", function() vim.lsp.buf.definition() end, opts) + vim.keymap.set("n", "K", function() vim.lsp.buf.hover() end, opts) + vim.keymap.set("n", "vws", function() vim.lsp.buf.workspace_symbol() end, opts) + vim.keymap.set("n", "vd", function() vim.diagnostic.open_float() end, opts) + vim.keymap.set("n", "vca", function() vim.lsp.buf.code_action() end, opts) + vim.keymap.set("n", "vrr", function() vim.lsp.buf.references() end, opts) + vim.keymap.set("n", "vrn", function() vim.lsp.buf.rename() end, opts) + vim.keymap.set("i", "", function() vim.lsp.buf.signature_help() end, opts) + vim.keymap.set("n", "[d", function() vim.diagnostic.goto_next() end, opts) + vim.keymap.set("n", "]d", function() vim.diagnostic.goto_prev() end, opts) + end +}) + +vim.g.netrw_browse_split = 0 +vim.g.netrw_banner = 0 +vim.g.netrw_winsize = 25 diff --git a/lua/haelnorr/lazy/colors.lua b/lua/haelnorr/lazy/colors.lua new file mode 100644 index 0000000..7597144 --- /dev/null +++ b/lua/haelnorr/lazy/colors.lua @@ -0,0 +1,6 @@ +return { + "catppuccin/nvim", + config = function() + vim.cmd('colorscheme catppuccin-mocha') + end, +} diff --git a/lua/haelnorr/lazy/fugitive.lua b/lua/haelnorr/lazy/fugitive.lua new file mode 100644 index 0000000..1fdbb0e --- /dev/null +++ b/lua/haelnorr/lazy/fugitive.lua @@ -0,0 +1,44 @@ +return { + "tpope/vim-fugitive", + config = function() + vim.keymap.set("n", "gs", vim.cmd.Git) + + local Haelnorr_Fugitive = vim.api.nvim_create_augroup("Haelnorr_Fugitive", {}) + + local autocmd = vim.api.nvim_create_autocmd + autocmd("BufWinEnter", { + group = Haelnorr_Fugitive, + pattern = "*", + callback = function() + if vim.bo.ft ~= "fugitive" then + return + end + + local bufnr = vim.api.nvim_get_current_buf() + local opts = {buffer = bufnr, remap = false} + vim.keymap.set("n", "s", function() + vim.cmd.Git('add -A') + end, opts) + vim.keymap.set("n", "c", function() + vim.cmd.Git('commit') + end, opts) + vim.keymap.set("n", "p", function() + vim.cmd.Git('push') + end, opts) + + -- rebase always + vim.keymap.set("n", "P", function() + vim.cmd.Git({'pull', '--rebase'}) + end, opts) + + -- NOTE: It allows me to easily set the branch i am pushing and any tracking + -- needed if i did not set the branch up correctly + vim.keymap.set("n", "t", ":Git push -u origin ", opts); + end, + }) + + + vim.keymap.set("n", "gu", "diffget //2") + vim.keymap.set("n", "gh", "diffget //3") + end +} diff --git a/lua/haelnorr/lazy/harpoon.lua b/lua/haelnorr/lazy/harpoon.lua new file mode 100644 index 0000000..f63bbe9 --- /dev/null +++ b/lua/haelnorr/lazy/harpoon.lua @@ -0,0 +1,20 @@ +return { + "ThePrimeagen/harpoon", + branch = "harpoon2", + dependencies = { "nvim-lua/plenary.nvim" }, + config = function() + local harpoon = require("harpoon") + + harpoon:setup() + vim.keymap.set("n", "a", function() harpoon:list():add() end) + vim.keymap.set("n", "", function() harpoon.ui:toggle_quick_menu(harpoon:list()) end) + vim.keymap.set("n", "", function() harpoon:list():select(1) end) + vim.keymap.set("n", "", function() harpoon:list():select(2) end) + vim.keymap.set("n", "", function() harpoon:list():select(3) end) + vim.keymap.set("n", "", function() harpoon:list():select(4) end) + vim.keymap.set("n", "", function() harpoon:list():replace_at(1) end) + vim.keymap.set("n", "", function() harpoon:list():replace_at(2) end) + vim.keymap.set("n", "", function() harpoon:list():replace_at(3) end) + vim.keymap.set("n", "", function() harpoon:list():replace_at(4) end) + end +} diff --git a/lua/haelnorr/lazy/init.lua b/lua/haelnorr/lazy/init.lua new file mode 100644 index 0000000..a490730 --- /dev/null +++ b/lua/haelnorr/lazy/init.lua @@ -0,0 +1,9 @@ +return { + + { + "nvim-lua/plenary.nvim", + name = "plenary" + }, + + "eandrju/cellular-automaton.nvim", +} diff --git a/lua/haelnorr/lazy/lsp.lua b/lua/haelnorr/lazy/lsp.lua new file mode 100644 index 0000000..e91aae5 --- /dev/null +++ b/lua/haelnorr/lazy/lsp.lua @@ -0,0 +1,104 @@ +return { + "neovim/nvim-lspconfig", + dependencies = { + "williamboman/mason.nvim", + "williamboman/mason-lspconfig.nvim", + "hrsh7th/cmp-nvim-lsp", + "hrsh7th/cmp-buffer", + "hrsh7th/cmp-path", + "hrsh7th/cmp-cmdline", + "hrsh7th/nvim-cmp", + "L3MON4D3/LuaSnip", + "saadparwaiz1/cmp_luasnip", + "j-hui/fidget.nvim", + }, + + config = function() + local cmp = require('cmp') + local cmp_lsp = require("cmp_nvim_lsp") + local capabilities = vim.tbl_deep_extend( + "force", + {}, + vim.lsp.protocol.make_client_capabilities(), + cmp_lsp.default_capabilities()) + + require("fidget").setup({}) + require("mason").setup() + require("mason-lspconfig").setup({ + ensure_installed = { + "lua_ls", + "ansiblels", + "astro", + "bashls", + "css_variables", + "cssls", + "cssmodules_ls", + "custom_elements_ls", + "docker_compose_language_service", + "dockerls", + "html", + "jsonls", + "pyright", + "tailwindcss", + "tsserver", + }, + handlers = { + function(server_name) -- default handler (optional) + + require("lspconfig")[server_name].setup { + capabilities = capabilities + } + end, + + ["lua_ls"] = function() + local lspconfig = require("lspconfig") + lspconfig.lua_ls.setup { + capabilities = capabilities, + settings = { + Lua = { + runtime = { version = "Lua 5.1" }, + diagnostics = { + globals = { "vim", "it", "describe", "before_each", "after_each" }, + } + } + } + } + end, + } + }) + + local cmp_select = { behavior = cmp.SelectBehavior.Select } + + cmp.setup({ + snippet = { + expand = function(args) + require('luasnip').lsp_expand(args.body) -- For `luasnip` users. + end, + }, + mapping = cmp.mapping.preset.insert({ + [''] = cmp.mapping.select_prev_item(cmp_select), + [''] = cmp.mapping.select_next_item(cmp_select), + [''] = cmp.mapping.confirm({ select = true }), + [""] = cmp.mapping.complete(), + }), + sources = cmp.config.sources({ + { name = 'nvim_lsp' }, + { name = 'luasnip' }, -- For luasnip users. + }, { + { name = 'buffer' }, + }) + }) + + vim.diagnostic.config({ + -- update_in_insert = true, + float = { + focusable = false, + style = "minimal", + border = "rounded", + source = "always", + header = "", + prefix = "", + }, + }) + end +} diff --git a/lua/haelnorr/lazy/snippets.lua b/lua/haelnorr/lazy/snippets.lua new file mode 100644 index 0000000..ffa5add --- /dev/null +++ b/lua/haelnorr/lazy/snippets.lua @@ -0,0 +1,29 @@ +return { + { + "L3MON4D3/LuaSnip", + -- follow latest release. + version = "v2.*", -- Replace by the latest released major (first number of latest release) + -- install jsregexp (optional!). + build = "make install_jsregexp", + + dependencies = { "rafamadriz/friendly-snippets" }, + + config = function() + local ls = require("luasnip") + ls.filetype_extend("javascript", { "jsdoc" }) + + --- TODO: What is expand? + vim.keymap.set({"i"}, "e", function() ls.expand() end, {silent = true}) + + vim.keymap.set({"i", "s"}, ";", function() ls.jump(1) end, {silent = true}) + vim.keymap.set({"i", "s"}, ",", function() ls.jump(-1) end, {silent = true}) + + vim.keymap.set({"i", "s"}, "", function() + if ls.choice_active() then + ls.change_choice(1) + end + end, {silent = true}) + end, + } +} + diff --git a/lua/haelnorr/lazy/telescope.lua b/lua/haelnorr/lazy/telescope.lua new file mode 100644 index 0000000..185e353 --- /dev/null +++ b/lua/haelnorr/lazy/telescope.lua @@ -0,0 +1,30 @@ +return { + "nvim-telescope/telescope.nvim", + + tag = "0.1.5", + + dependencies = { + "nvim-lua/plenary.nvim" + }, + + config = function() + require('telescope').setup({}) + + local builtin = require('telescope.builtin') + vim.keymap.set('n', 'pf', builtin.find_files, {}) + vim.keymap.set('n', '', builtin.git_files, {}) + vim.keymap.set('n', 'pws', function() + local word = vim.fn.expand("") + builtin.grep_string({ search = word }) + end) + vim.keymap.set('n', 'pWs', function() + local word = vim.fn.expand("") + builtin.grep_string({ search = word }) + end) + vim.keymap.set('n', 'ps', function() + builtin.grep_string({ search = vim.fn.input("Grep > ") }) + end) + vim.keymap.set('n', 'vh', builtin.help_tags, {}) + end +} + diff --git a/lua/haelnorr/lazy/tmuxnav.lua b/lua/haelnorr/lazy/tmuxnav.lua new file mode 100644 index 0000000..4421fed --- /dev/null +++ b/lua/haelnorr/lazy/tmuxnav.lua @@ -0,0 +1,17 @@ +return { + "christoomey/vim-tmux-navigator", + cmd = { + "TmuxNavigateLeft", + "TmuxNavigateDown", + "TmuxNavigateUp", + "TmuxNavigateRight", + "TmuxNavigatePrevious", + }, + keys = { + { "", "TmuxNavigateLeft" }, + { "", "TmuxNavigateDown" }, + { "", "TmuxNavigateUp" }, + { "", "TmuxNavigateRight" }, + { "", "TmuxNavigatePrevious" }, + }, +} diff --git a/lua/haelnorr/lazy/treesitter.lua b/lua/haelnorr/lazy/treesitter.lua new file mode 100644 index 0000000..4a1d593 --- /dev/null +++ b/lua/haelnorr/lazy/treesitter.lua @@ -0,0 +1,46 @@ +return { + "nvim-treesitter/nvim-treesitter", + build = ":TSUpdate", + config = function() + require("nvim-treesitter.configs").setup({ + -- A list of parser names, or "all" + ensure_installed = { + "vimdoc", "javascript", "typescript", "c", "lua", "rust", + "jsdoc", "bash", + }, + + -- Install parsers synchronously (only applied to `ensure_installed`) + sync_install = false, + + -- Automatically install missing parsers when entering buffer + -- Recommendation: set to false if you don"t have `tree-sitter` CLI installed locally + auto_install = true, + + indent = { + enable = true + }, + + highlight = { + -- `false` will disable the whole extension + enable = true, + + -- Setting this to true will run `:h syntax` and tree-sitter at the same time. + -- Set this to `true` if you depend on "syntax" being enabled (like for indentation). + -- Using this option may slow down your editor, and you may see some duplicate highlights. + -- Instead of true it can also be a list of languages + additional_vim_regex_highlighting = { "markdown" }, + }, + }) + + local treesitter_parser_config = require("nvim-treesitter.parsers").get_parser_configs() + treesitter_parser_config.templ = { + install_info = { + url = "https://github.com/vrischmann/tree-sitter-templ.git", + files = {"src/parser.c", "src/scanner.c"}, + branch = "master", + }, + } + + end +} + diff --git a/lua/haelnorr/lazy/trouble.lua b/lua/haelnorr/lazy/trouble.lua new file mode 100644 index 0000000..fa0e7f6 --- /dev/null +++ b/lua/haelnorr/lazy/trouble.lua @@ -0,0 +1,23 @@ +return { + { + "folke/trouble.nvim", + config = function() + require("trouble").setup({ + icons = false, + }) + + vim.keymap.set("n", "tt", function() + require("trouble").toggle() + end) + + vim.keymap.set("n", "[t", function() + require("trouble").next({skip_groups = true, jump = true}); + end) + + vim.keymap.set("n", "]t", function() + require("trouble").previous({skip_groups = true, jump = true}); + end) + + end + }, +} diff --git a/lua/haelnorr/lazy/undotree.lua b/lua/haelnorr/lazy/undotree.lua new file mode 100644 index 0000000..f76ae05 --- /dev/null +++ b/lua/haelnorr/lazy/undotree.lua @@ -0,0 +1,9 @@ + +return { + "mbbill/undotree", + + config = function() + vim.keymap.set("n", "u", vim.cmd.UndotreeToggle) + end +} + diff --git a/lua/haelnorr/lazy/vimbegood.lua b/lua/haelnorr/lazy/vimbegood.lua new file mode 100644 index 0000000..4560b8d --- /dev/null +++ b/lua/haelnorr/lazy/vimbegood.lua @@ -0,0 +1,10 @@ +return { + "theprimeagen/vim-be-good", + + dependencies = { + "nvim-lua/plenary.nvim" + }, + + config = function() + end +} diff --git a/lua/haelnorr/lazy/zenmode.lua b/lua/haelnorr/lazy/zenmode.lua new file mode 100644 index 0000000..3c25dcd --- /dev/null +++ b/lua/haelnorr/lazy/zenmode.lua @@ -0,0 +1,34 @@ + +return { + "folke/zen-mode.nvim", + config = function() + vim.keymap.set("n", "zz", function() + require("zen-mode").setup { + window = { + width = 90, + options = { } + }, + } + require("zen-mode").toggle() + vim.wo.wrap = false + vim.wo.number = true + vim.wo.rnu = true + end) + + + vim.keymap.set("n", "zZ", function() + require("zen-mode").setup { + window = { + width = 80, + options = { } + }, + } + require("zen-mode").toggle() + vim.wo.wrap = false + vim.wo.number = false + vim.wo.rnu = false + vim.opt.colorcolumn = "0" + end) + end +} + diff --git a/lua/haelnorr/lazy_init.lua b/lua/haelnorr/lazy_init.lua new file mode 100644 index 0000000..921d3a5 --- /dev/null +++ b/lua/haelnorr/lazy_init.lua @@ -0,0 +1,17 @@ +local lazypath = vim.fn.stdpath("data") .. "/lazy/lazy.nvim" +if not vim.loop.fs_stat(lazypath) then + vim.fn.system({ + "git", + "clone", + "--filter=blob:none", + "https://github.com/folke/lazy.nvim.git", + "--branch=stable", -- latest stable release + lazypath, + }) +end +vim.opt.rtp:prepend(lazypath) + +require("lazy").setup({ + spec = "haelnorr.lazy", + change_detection = { notify = false } +}) diff --git a/lua/haelnorr/remap.lua b/lua/haelnorr/remap.lua new file mode 100644 index 0000000..14292b7 --- /dev/null +++ b/lua/haelnorr/remap.lua @@ -0,0 +1,39 @@ +vim.g.mapleader = " " +vim.keymap.set("n", "pv", vim.cmd.Ex) + +vim.keymap.set("v", "J", ":m '>+1gv=gv") +vim.keymap.set("v", "K", ":m '<-2gv=gv") + +vim.keymap.set("n", "J", "mzJ`z") +vim.keymap.set("n", "", "zz") +vim.keymap.set("n", "", "zz") +vim.keymap.set("n", "n", "nzzzv") +vim.keymap.set("n", "N", "Nzzzv") + +-- greatest remap ever +vim.keymap.set("x", "p", [["_dP]]) + +-- next greatest remap ever : asbjornHaland +vim.keymap.set({"n", "v"}, "y", [["+y]]) +vim.keymap.set("n", "Y", [["+Y]]) + +vim.keymap.set({"n", "v"}, "d", [["_d]]) + +-- This is going to get me cancelled +vim.keymap.set("i", "", "") + +vim.keymap.set("n", "Q", "") +vim.keymap.set("n", "", "silent !tmux neww tmux-sessionizer") +vim.keymap.set("n", "f", vim.lsp.buf.format) + +vim.keymap.set("n", "", "cnextzz") +vim.keymap.set("n", "", "cprevzz") +vim.keymap.set("n", "k", "lnextzz") +vim.keymap.set("n", "j", "lprevzz") + +vim.keymap.set("n", "s", [[:%s/\<\>//gI]]) +vim.keymap.set("n", "x", "!chmod +x %", { silent = true }) + +vim.keymap.set("n", "", function() + vim.cmd("so") +end) diff --git a/lua/haelnorr/set.lua b/lua/haelnorr/set.lua new file mode 100644 index 0000000..736d2ad --- /dev/null +++ b/lua/haelnorr/set.lua @@ -0,0 +1,29 @@ +vim.opt.nu = true +vim.opt.relativenumber = true + +vim.opt.tabstop = 4 +vim.opt.softtabstop = 4 +vim.opt.shiftwidth = 4 +vim.opt.expandtab = true + +vim.opt.smartindent = true + +vim.opt.wrap = false + +vim.opt.swapfile = false +vim.opt.backup = false +vim.opt.undodir = os.getenv("HOME") .. "/.vim/undodir" +vim.opt.undofile = true + +vim.opt.hlsearch = false +vim.opt.incsearch = true + +vim.opt.termguicolors = true + +vim.opt.scrolloff = 8 +vim.opt.signcolumn = "yes" +vim.opt.isfname:append("@-@") + +vim.opt.updatetime = 50 + +vim.opt.colorcolumn = "80"