On 11/25/11 15:54, denis perelyubskiy wrote:
Hello,

Is there a quick way to undo only the very last substitution made
while performing '%s/foo/bar/gc'  *while in the substitution mode*. I
think I am asking whether there is something I can do at "replace with
le (y/n/a/q/l/^E/^Y)?' prompt to go back one substitution.

Use-case is something like: I go through the file, only making a
couple of changes (but skipping many-many matches). I then screw one
up. I either need to go back and make all those changes again, or -
ideally - press something to undo my decision on the last prompt.
Preferably it'd be the latter.

Not that I know of, but I've done this and my remedy is usually the following:

  :%s/foo/bar/gc
  (answer some y/n and screw one up)
  q     (quit the substitute)
  u     (undo the biffup)
  :+,$s//~/&
  (restart the previous command from the next line
   searching for the same thing, replacing with the
   same replacement, using the same flags)

which you can read about at

  :help s~
  :help :s_flags

If you've specified an original range of "%", then the above works. Otherwise, you'd have to tweak the starting/ending range on the 2nd/restarting command.

-tim


--
You received this message from the "vim_use" maillist.
Do not top-post! Type your reply below the text you are replying to.
For more information, visit http://www.vim.org/maillist.php

Reply via email to