posted by John Burnett , updated 3 years ago , 3
One thing that I am missing from my previous editor (Textpad) that I havne't seen anywhere else, is the way cursor movement is handled when switching lines.  It's a bit hard to describe, but it is *very* handy.  I'll try to describe it below, but it's probably easier if you follow along by trying firsthand by downloading Textpad 4.x (e.g. http://www.textpad.com/download/v47/txpeng473.exe).

For example, say I have the following two lines, with the cursor positioned at the pipe:

--The quick | fox jumped
--over the lazy dog.

...and then I typed "brown", the cursor would end up here:

--The quick brown| fox jumped
--over the lazy dog.

...in most editors (including Sublime), if I then pressed the down arrow, I'd wind up with this:

--The quick brown fox jumped
--over the lazy d|og.

However, Textpad ends up with this:

--The quick brown fox jumped
--over the l|azy dog.

This comes in *very* handy when doing multiple similar edits across multiple lines.

It seems the editor is keeping track of both the cursor's "current X position" and the "base X position", which is "the original X position before any editing occurred since the last horizontal cursor navigation command".  Then, if you move the cursor up or down (with either up/down arrows, or pgup/pgdn), the cursor tries to keep as close to the original X position as possible, but within the current line's constraints.  The base X position is updated next time you manually position the cursor horizontally (e.g. left/right arrows, mouse click, etc).

Anyway, like I said, it's hard to appreciate without trying, and it'd be awesome to see added to what already looks to be a great editor.
in most editors (including Sublime), if I then pressed the down arrow, I'd wind up with this:
I think there's a good reason why most editors do it the way Sublime does it. The behavior TextPad displays is quite unexpected. If you need an entire paragraph to describe the behavior, it isn't exactly intuitive! And the case you mention (similar edits across multiple lines) is better handled by creating multiple selections and typing once instead of type->navigate->type->navigate->type, etc.
Unfortunately, multiple selections only work if what you're typing is the same for each line (rare).  Additionally, in this case, I'd ask that you try the behavior before dismissing it as unintuitive.  Thanks!
Sounds very interesting.  An option to turn it on and off would be important for those who prefer the standard behavior.