mirror of
https://github.com/kristoferssolo/SoloVim.git
synced 2025-10-21 20:10:41 +00:00
123 lines
3.5 KiB
Lua
123 lines
3.5 KiB
Lua
-- Use 'q' to quit from common plugins
|
|
vim.api.nvim_create_autocmd({ "FileType" }, {
|
|
pattern = { "qf", "help", "man", "lspinfo", "spectre_panel", "lir" },
|
|
callback = function()
|
|
vim.cmd([[ nnoremap <silent> <buffer> q :close<cr>
|
|
set nobuflisted
|
|
]])
|
|
end,
|
|
})
|
|
|
|
-- Remove statusline and tabline when in Alpha
|
|
vim.api.nvim_create_autocmd({ "User" }, {
|
|
pattern = { "AlphaReady" },
|
|
callback = function()
|
|
vim.cmd([[
|
|
set showtabline=0 | autocmd BufUnload <buffer> set showtabline=2
|
|
set laststatus=0 | autocmd BufUnload <buffer> set laststatus=3
|
|
]])
|
|
end,
|
|
})
|
|
|
|
-- Set wrap and spell in markdown and gitcommit
|
|
vim.api.nvim_create_autocmd({ "FileType" }, {
|
|
pattern = { "gitcommit", "markdown", "vimwiki" },
|
|
callback = function()
|
|
vim.opt_local.wrap = true
|
|
-- vim.opt_local.spell = true
|
|
end,
|
|
})
|
|
|
|
vim.cmd("autocmd BufEnter * ++nested if winnr('$') == 1 && bufname() == 'NvimTree_' . tabpagenr() | quit | endif")
|
|
|
|
-- Fixes Autocomment
|
|
vim.api.nvim_create_autocmd({ "BufWinEnter" }, {
|
|
callback = function()
|
|
vim.cmd("set formatoptions-=cro")
|
|
end,
|
|
})
|
|
|
|
-- Highlight Yanked Text
|
|
vim.api.nvim_create_autocmd({ "TextYankPost" }, {
|
|
callback = function()
|
|
vim.highlight.on_yank({ higroup = "Visual", timeout = 200 })
|
|
end,
|
|
})
|
|
|
|
-- Format File on Save
|
|
vim.api.nvim_create_autocmd({ "BufWritePre" }, {
|
|
callback = function()
|
|
vim.lsp.buf.format()
|
|
end,
|
|
})
|
|
|
|
-- Center on InsertEnter
|
|
vim.api.nvim_create_autocmd({ "InsertEnter" }, {
|
|
callback = function()
|
|
vim.cmd("norm zz")
|
|
end,
|
|
})
|
|
|
|
-- Disable `expandtab` (don't replace tab with spaces) for lua files
|
|
vim.api.nvim_create_autocmd({ "FileType" }, {
|
|
pattern = { "lua" },
|
|
callback = function()
|
|
vim.opt_local.expandtab = false
|
|
end,
|
|
})
|
|
|
|
-- Set tab size for the following file types to 2
|
|
vim.api.nvim_create_autocmd({ "FileType" }, {
|
|
pattern = { "vimwiki", "java", "sql" },
|
|
callback = function()
|
|
vim.opt_local.ts = 2
|
|
vim.opt_local.sw = 2
|
|
vim.opt_local.sts = 2
|
|
end,
|
|
})
|
|
|
|
|
|
-- Change Cursorline/Columnt color
|
|
vim.cmd([[
|
|
highlight CursorLine ctermbg=White cterm=bold guibg=#222222
|
|
highlight CursorColumn ctermbg=White cterm=bold guibg=#222222
|
|
]])
|
|
|
|
-- Autocommand that reloads waybar whenever you save the ~/.config/waybar/config file
|
|
-- vim.cmd([[
|
|
-- augroup waybar_user_config
|
|
-- autocmd!
|
|
-- autocmd BufWritePost ~/Nextcloud/solorice/.config/waybar/config silent !pkill waybar && waybar & disown <afile>
|
|
-- autocmd BufWritePost ~/Nextcloud/solorice/.config/waybar/style.css silent !pkill waybar && waybar & disown <afile>
|
|
-- augroup end
|
|
-- ]])
|
|
|
|
-- Autocommand that reloads waybar whenever you save the ~/.config/waybar/config file
|
|
vim.api.nvim_create_autocmd({ "BufWritePost" }, {
|
|
group = vim.api.nvim_create_augroup("AutoReloadWaybar", { clear = true }),
|
|
pattern = { "**/waybar/config", "**/waybar/style.css" },
|
|
callback = function()
|
|
vim.cmd.pkill({ "waybar", bang = true })
|
|
vim.cmd.waybar()
|
|
end,
|
|
})
|
|
|
|
-- Autocommand that sources neovim files on save
|
|
vim.api.nvim_create_autocmd({ "BufWritePost" }, {
|
|
group = vim.api.nvim_create_augroup("AutoReloadConfig", { clear = true }),
|
|
pattern = { "**/nvim/**/*.lua", "**/SoloVim/**/*.lua" },
|
|
callback = function()
|
|
local file_path = vim.api.nvim_buf_get_name(vim.api.nvim_get_current_buf())
|
|
vim.cmd.source(file_path)
|
|
end,
|
|
})
|
|
|
|
-- Run PackerSync on file save
|
|
vim.api.nvim_create_autocmd({ "BufWritePost" }, {
|
|
group = vim.api.nvim_create_augroup("AutoPackerSync", { clear = true }),
|
|
pattern = { "**/plugins.lua" },
|
|
callback = function()
|
|
vim.cmd.PackerSync()
|
|
end,
|
|
})
|