a bit sloppy but working
This commit is contained in:
65
lua/autocmd.lua
Normal file
65
lua/autocmd.lua
Normal file
@@ -0,0 +1,65 @@
|
||||
local api = vim.api
|
||||
local settings = require("user-conf")
|
||||
|
||||
--- Remove all trailing whitespace on save
|
||||
--local TrimWhiteSpaceGrp = api.nvim_create_augroup("TrimWhiteSpaceGrp", { clear = true })
|
||||
--api.nvim_create_autocmd("BufWritePre", {
|
||||
-- command = [[:%s/\s\+$//e]],
|
||||
-- group = TrimWhiteSpaceGrp,
|
||||
--})
|
||||
|
||||
-- don't auto comment new line
|
||||
api.nvim_create_autocmd("BufEnter", { command = [[set formatoptions-=cro]] })
|
||||
|
||||
-- Close nvim if NvimTree is only running buffer
|
||||
api.nvim_create_autocmd(
|
||||
"BufEnter",
|
||||
{ command = [[if winnr('$') == 1 && bufname() == 'NvimTree_' . tabpagenr() | quit | endif]] }
|
||||
)
|
||||
|
||||
-- Highlight on yank
|
||||
local yankGrp = api.nvim_create_augroup("YankHighlight", { clear = true })
|
||||
api.nvim_create_autocmd("TextYankPost", {
|
||||
command = "silent! lua vim.highlight.on_yank()",
|
||||
group = yankGrp,
|
||||
})
|
||||
-- go to last loc when opening a buffer
|
||||
api.nvim_create_autocmd(
|
||||
"BufReadPost",
|
||||
{ command = [[if line("'\"") > 1 && line("'\"") <= line("$") | execute "normal! g`\"" | endif]] }
|
||||
)
|
||||
-- windows to close with "q"
|
||||
api.nvim_create_autocmd(
|
||||
"FileType",
|
||||
{ pattern = { "help", "startuptime", "qf", "lspinfo" }, command = [[nnoremap <buffer><silent> q :close<CR>]] }
|
||||
)
|
||||
api.nvim_create_autocmd("FileType", { pattern = "man", command = [[nnoremap <buffer><silent> q :quit<CR>]] })
|
||||
|
||||
-- show cursor line only in active window
|
||||
local cursorGrp = api.nvim_create_augroup("CursorLine", { clear = true })
|
||||
api.nvim_create_autocmd({ "InsertLeave", "WinEnter" }, {
|
||||
pattern = "*",
|
||||
command = "set cursorline",
|
||||
group = cursorGrp,
|
||||
})
|
||||
api.nvim_create_autocmd(
|
||||
{ "InsertEnter", "WinLeave" },
|
||||
{ pattern = "*", command = "set nocursorline", group = cursorGrp }
|
||||
)
|
||||
|
||||
-- Enable spell checking for certain file types
|
||||
api.nvim_create_autocmd(
|
||||
{ "BufRead", "BufNewFile" },
|
||||
{ pattern = { "*.txt", "*.md", "*.tex" }, command = "setlocal spell" }
|
||||
)
|
||||
if settings.packer_auto_sync then
|
||||
-- source plugins.lua and run PackerSync on save
|
||||
local sync_packer = function()
|
||||
vim.cmd("runtime lua/plugins.lua")
|
||||
require("packer").sync()
|
||||
end
|
||||
api.nvim_create_autocmd({ "BufWritePost" }, {
|
||||
pattern = { "plugins.lua" },
|
||||
callback = sync_packer,
|
||||
})
|
||||
end
|
Reference in New Issue
Block a user