local function split_sentences() local view = vim.fn.winsaveview() -- keep cursor & view stable vim.cmd([[%s/\([.?!]\)\s\+/\1\r/ge]]) vim.fn.winrestview(view) end -- run after leaving insert mode vim.api.nvim_create_autocmd({ "InsertLeave", "TextChanged" }, { pattern = { "*.md", "*.txt" }, callback = split_sentences })