You’re usually autosaving. So it’s not every character, but maybe every minute and lots of other logical triggers like running the file. I’ve found it works very well.
In Emacs, if you select a region of text and invoke undo, it applies only to the selected text. Very useful sometimes.