To answer your *why* a file per model, this one is neither boilerplate nor trivial. Likewise `Find` and `MoveToMark`. We only want to put a lot of classes into one file if, like the basic motions and operators, they're just a few lines long. It's easy to see how they differ.

That's why we broke them out into view models instead of stuffing all this logic into `motions.coffee` and `operators.coffee` in the first place. If all of these were as simple as `Mark` and `Replace` it'd be fine to have them  all here, I think.