require("vim._core.ui2").enable({}) map = vim.keymap.set vim.o.termguicolors = true vim.o.showmode = false vim.o.laststatus = 3 vim.o.nu = true vim.o.swapfile = false vim.o.winborder = "single" vim.o.winblend = 0 vim.o.pumblend = 0 vim.o.scrolloff = 20 vim.o.shiftwidth = 4 vim.o.tabstop = 4 vim.o.softtabstop = 4 vim.o.ignorecase = true vim.o.smartcase = true vim.o.incsearch = true vim.o.hlsearch = true vim.o.mouse = "a" vim.o.path = "**" vim.o.clipboard = "unnamedplus" vim.o.foldenable = true vim.o.foldmethod = "expr" vim.o.foldlevel = 99 vim.o.splitright = true vim.o.splitbelow = true vim.o.signcolumn = "yes" vim.o.completeopt = "menu,menuone,noselect,popup,fuzzy" vim.o.undofile = true vim.o.undodir = vim.fn.stdpath("state") .. "/undo" vim.o.errorformat = "%f(%l:%c) %m,%-G%.%#" vim.cmd.colorscheme('retrobox') -- ----------------------------- -- @BINDS -- ----------------------------- map("t", "", "") map({"t", "n"}, "", "") map({"t", "n"}, "", "") map({"t", "n"}, "", "") map({"t", "n"}, "", "") map({"i", "n"}, "", "") map("n", '', 'noh') map("v", "J", ":m '>+1gv=gv") map("v", "K", ":m '<-2gv=gv") map("v", "", "" , ">gv") map("n", "", ":find ") map("n", "", ":Lex") map("n", "", ":bd") map("i", "", vim.lsp.buf.signature_help) -- ----------------------------- -- @AUTOCMDS -- ----------------------------- -- Terminals should open with insert mode vim.api.nvim_create_autocmd({ "BufEnter", "TermEnter", "WinEnter" }, { pattern = "term://*", callback = function() if vim.bo.buftype == "terminal" then vim.schedule(function() vim.cmd("startinsert") end) end end }) -- highlights yanked text vim.api.nvim_create_autocmd("TextYankPost", { callback = function() vim.highlight.on_yank({ higroup = "IncSearch", timeout = 200, }) end, }) -- removes trailing whitespace on save vim.api.nvim_create_autocmd("BufWritePre", { callback = function() local save_cursor = vim.fn.getpos(".") vim.cmd([[%s/\s\+$//e]]) vim.fn.setpos(".", save_cursor) end, }) vim.api.nvim_create_augroup('AutoResizeWindows', { clear = true }) vim.api.nvim_create_autocmd('VimResized', { group = 'AutoResizeWindows', callback = function() vim.cmd('wincmd =') end, })