I like it, but here's one big issue: Using ! as the command char is a pain. It's two combined keystrokes to produce that character. If you used a dot (.) or a space ( ) as the command char, you would reduce the overhead of entering a command by at least 100 %.
If you could allow the user to specify the command char, it would be awesome. Great work, though!