vim.o.backup = false vim.o.writebackup = false vim.o.swapfile = false vim.o.splitright = true vim.o.splitbelow = true vim.o.splitkeep = "cursor" vim.o.number = true vim.o.numberwidth = 5 vim.o.signcolumn = "yes:2" vim.o.statuscolumn = " %=%l%s " vim.o.wrap = false vim.o.fillchars = "eob: ,diff:╱" vim.o.foldlevel = 99 vim.o.autoread = true vim.o.fileformats = "unix,dos" vim.o.autoindent = true vim.o.smartindent = true vim.o.expandtab = true vim.o.shiftwidth = 2 vim.o.tabstop = 2 vim.o.softtabstop = 2 vim.o.ignorecase = true vim.o.smartcase = true vim.api.nvim_create_autocmd("CursorMoved", { once = true, callback = function() vim.o.clipboard = "unnamedplus" vim.o.scrolloff = 10 vim.o.sidescroll = 1 vim.o.sidescrolloff = 16 vim.o.virtualedit = "onemore" vim.keymap.set("n", "", "nohlsearch") end, }) vim.api.nvim_create_autocmd("ModeChanged", { once = true, callback = function() vim.o.showmode = false vim.o.completeopt = "menu,menuone,noinsert" end, }) vim.o.cmdheight = 0 vim.o.laststatus = 0 vim.api.nvim_create_autocmd({ "CmdlineEnter", "WinResized" }, { once = true, callback = function() vim.o.statusline = "%{''}" vim.o.fillchars = vim.o.fillchars .. ",stl:─,stlnc:─" require("rc.highlight").set({ StatusLine = "LineNr", StatusLineNC = "StatusLine" }) end, }) vim.o.title = true require("rc.tabline").setup() require("rc.winbar").setup() if vim.fn.has("gui_running") == 1 then require("rc.gui").setup() end vim.keymap.set("n", "", "") vim.keymap.set("n", "", function() require("rc.python").set_env() vim.cmd.terminal("bash") end) vim.keymap.set("t", "", "") vim.api.nvim_create_autocmd("TermOpen", { callback = function() vim.opt_local.statuscolumn = "" vim.cmd.startinsert() end, }) vim.api.nvim_create_autocmd("TextYankPost", { callback = function() vim.hl.on_yank() end, }) vim.api.nvim_create_autocmd("BufReadPre", { once = true, callback = function() vim.keymap.set("n", "bd", function() local buf = vim.api.nvim_get_current_buf() vim.cmd("bprevious") vim.cmd("bwipeout! " .. buf) end) vim.diagnostic.config({ float = true, jump = { on_jump = function(_, bufnr) vim.diagnostic.open_float({ bufnr = bufnr, scope = "cursor", focus = false }) end, }, severity_sort = true, signs = false, update_in_insert = true, virtual_text = { prefix = "" }, }) vim.lsp.inline_completion.enable() vim.api.nvim_create_autocmd("DirChangedPre", { callback = function() for _, client in ipairs(vim.lsp.get_clients()) do if not next(client.attached_buffers) then vim.notify(("%s: trying to shutdown..."):format(client.name)) client:stop() end end end, }) end, }) vim.api.nvim_create_autocmd("User", { pattern = "rc.plugins.InstallPre", callback = function() require("rc.mise").install() end, }) vim.api.nvim_create_autocmd("VimEnter", { callback = function() require("rc.mise").assume_installed() end, }) require("rc.plugins").setup() vim.o.background = "light" vim.cmd.colorscheme("robot")