Files
dotfiles/nvim/lua/config/autocmds.lua
Mikhail Kilin 50805a9042 Move nvim config into nvim/ subdirectory
Prepare repo structure for storing multiple dotfile configs.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-23 23:44:15 +03:00

36 lines
935 B
Lua

local augroup = vim.api.nvim_create_augroup
local autocmd = vim.api.nvim_create_autocmd
-- Highlight on yank
autocmd("TextYankPost", {
group = augroup("highlight_yank", { clear = true }),
callback = function()
vim.highlight.on_yank({ timeout = 200 })
end,
})
-- Remove trailing whitespace on save
autocmd("BufWritePre", {
group = augroup("trim_whitespace", { clear = true }),
pattern = "*",
command = "%s/\\s\\+$//e",
})
-- Restore cursor position
autocmd("BufReadPost", {
group = augroup("restore_cursor", { clear = true }),
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,
})
-- Auto-resize splits on window resize
autocmd("VimResized", {
group = augroup("auto_resize", { clear = true }),
command = "tabdo wincmd =",
})