local augroup = vim.api.nvim_create_augroup('numbertoggle', { clear = true }) vim.api.nvim_create_autocmd({ 'BufEnter', 'FocusGained', 'InsertLeave', 'WinEnter' }, { group = augroup, callback = function() if vim.o.number and vim.api.nvim_get_mode().mode ~= 'i' then vim.o.relativenumber = true end end }) vim.api.nvim_create_autocmd({ 'BufLeave', 'FocusLost', 'InsertEnter', 'WinLeave' }, { group = augroup, callback = function() if vim.o.number then vim.o.relativenumber = false end end }) vim.api.nvim_create_autocmd('TextYankPost', { callback = function() vim.highlight.on_yank({ timeout = 300, on_visual = true }) end })