require("vim._core.ui2").enable({}) map = vim.keymap.set vim.g.mapleader = " " vim.g.termguicolors = true -- mini.basics sets defaults see plugin folder for more 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.path = "**" vim.o.clipboard = "unnamedplus" vim.o.foldmethod = "expr" vim.o.foldlevel = 99 vim.o.completeopt = "menuone,noselect,fuzzy,nosort" vim.opt.shortmess:append("c") vim.o.undodir = os.getenv("HOME") .. "/.cache/nvim/undodir" vim.cmd.colorscheme("retrobox") vim.api.nvim_set_hl(0, "Normal", { bg = "#181818" }) vim.api.nvim_set_hl(0, "NormalNC", { bg = "#181818" }) -- @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", "", ":Ex") map("n", "", ":bd") -- @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, })