You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
There is a partially similar feature idea here #1583, but it's not exactly the same.
The idea is to have a key/command which would undo the last keystroke rather than an edit (without removing the classical "last edit" undo). This includes all navigation (and that's what I mostly want), but also would be nice to support selection, single character type in INSERT mode, replication of multiple cursors.
This is important especially for the new users who don't remember all the keystrokes well, but I'm sure power users would find it useful too.
Examples when I felt it could be userful:
One pattern that I often have is typing g e hoping that it will go to the end of the line, but helix jumps to the end of the file. After that it's quite painful to find the place in the file where I was. Typeing undo key and then g l would be much more convenient.
When I want to insert a text after particular token press w multiple times to navigate (and then press a), but I press w one time too many, it becomes unhandy to revert it (bbw I guess would be the way to undo it now).
When I replicate cursor using C and pressed one time too much, I don't know what to do (likely there's a key for this, but it would be convenient to have a separate undo)
When I went into the insert mode and typed something, forgot to leave the mode and then got distracted, I returned and started to type some command (:wq for example), it gots appended to the text. What I instinctively do after that, is <ESC> u, which removes everything that I typed during the last insert session. Then I do U and remove :wq! manually. It would be more convenient to press "soft undo" key several times instead.
Sometimes I want to look the file around e.g. to check what is the funciton signature, and then return to the function I was writing. There is g . to jump to the last modification, but again, undoing the jumping would be easier to learn.
The text was updated successfully, but these errors were encountered:
I do think this would be a nice feature, but in the meantime, here are existing solutions to a couple of your points:
1: C-o will undo ge and other jumping commands.
3: A-, will get rid of the primary cursor (effectively undoing C).
There is a partially similar feature idea here #1583, but it's not exactly the same.
The idea is to have a key/command which would undo the last keystroke rather than an edit (without removing the classical "last edit" undo). This includes all navigation (and that's what I mostly want), but also would be nice to support selection, single character type in INSERT mode, replication of multiple cursors.
This is important especially for the new users who don't remember all the keystrokes well, but I'm sure power users would find it useful too.
Examples when I felt it could be userful:
g e
hoping that it will go to the end of the line, but helix jumps to the end of the file. After that it's quite painful to find the place in the file where I was. Typeingundo key
and theng l
would be much more convenient.w
multiple times to navigate (and then pressa
), but I pressw
one time too many, it becomes unhandy to revert it (bbw
I guess would be the way to undo it now).C
and pressed one time too much, I don't know what to do (likely there's a key for this, but it would be convenient to have a separate undo)insert
mode and typed something, forgot to leave the mode and then got distracted, I returned and started to type some command (:wq
for example), it gots appended to the text. What I instinctively do after that, is<ESC> u
, which removes everything that I typed during the last insert session. Then I doU
and remove:wq!
manually. It would be more convenient to press "soft undo" key several times instead.g .
to jump to the last modification, but again, undoing the jumping would be easier to learn.The text was updated successfully, but these errors were encountered: