vim.api.nvim_create_autocmd({ "User" }, { pattern = { "AlphaReady" }, callback = function() vim.cmd([[ set laststatus=0 | autocmd BufUnload set laststatus=3 ]]) end, }) vim.api.nvim_create_autocmd({ "VimResized" }, { callback = function() vim.cmd("tabdo wincmd =") end, }) vim.api.nvim_create_autocmd({ "CmdWinEnter" }, { callback = function() vim.cmd("quit") end, }) vim.api.nvim_create_autocmd({ "BufWinEnter" }, { callback = function() vim.cmd("set formatoptions-=cro") end, }) -- highlight on yank vim.api.nvim_create_autocmd({ "TextYankPost" }, { callback = function() vim.highlight.on_yank() end, }) vim.api.nvim_create_autocmd({ "VimEnter" }, { callback = function() vim.cmd("hi link illuminatedWord LspReferenceText") end, }) -- go to last loc when opening a buffer vim.api.nvim_create_autocmd("BufReadPost", { callback = function() local mark = vim.api.nvim_buf_get_mark(0, '"') local lcount = vim.api.nvim_buf_line_count(0) if mark[1] > 0 and mark[1] <= lcount then pcall(vim.api.nvim_win_set_cursor, 0, mark) end end, }) -- close some filetypes with vim.api.nvim_create_autocmd("FileType", { pattern = { "qf", "help", "man", "notify", "lspinfo", "spectre_panel", "startuptime", "tsplayground", "PlenaryTestPopup", }, callback = function(event) vim.bo[event.buf].buflisted = false vim.keymap.set("n", "q", "close", { buffer = event.buf, silent = true }) end, }) -- add spellcheck and wrapping to some file types vim.api.nvim_create_autocmd("FileType", { pattern = { "gitcommit", "markdown" }, callback = function() vim.opt_local.wrap = true vim.opt_local.spell = true end, }) -- Prevent auto comment on next line vim.cmd([[autocmd FileType * setlocal formatoptions-=c formatoptions-=r formatoptions-=o]]) -- Set filetype to tex for .tex files? vim.cmd([[autocmd BufRead,BufNewFile *.tex set filetype=tex]]) -- Trim whitespace from files on save vim.cmd([[ autocmd BufWritePre * let currPos = getpos(".") autocmd BufWritePre * %s/\s\+$//e autocmd BufWritePre * %s/\n\+\%$//e autocmd BufWritePre *.[ch] %s/\%$/\r/e autocmd BufWritePre * cal cursor(currPos[1], currPos[2]) ]]) -- Recompile and restart Xmonad on save of config file for Xmonad or Xmobar vim.cmd( [[autocmd BufWritePost ~/.xmonad/xmonad.hs,~/.config/xmobar/xmobar-main.hs,~/.config/xmobar/xmobar-sub.hs,~/.config/xmobar/xmobar-single.hs !xmonad --recompile && xmonad --restart]] ) -- Run custom textclear command when exiting a .tex file (cleanup files) vim.cmd([[autocmd VimLeave *.tex !texclear %]]) -- Run install when editing my scripts vim.cmd([[ autocmd BufWritePost ~/repos/inks-scripts/scripts/** !~/repos/inks-scripts/install ]])