Tuesday, February 17, 2015

Re: vim: least key stroke to replace a word

On Tue, Feb 17, 2015 at 10:18 AM, ping song <songpingemail@gmail.com> wrote:
experts:
I know this looks stupid and simple, but I don't know the answer right now.

say I want to replace a word :

from:

    abc 456

to:
     123456

what I did is:
1. put my cursor in a, then cw123<esc>x  , 7 strokes
2. put my cursor in b, then caw123<esc>, 7strokes
3. put my cursor in a, then dwi123<esc>, 7 strokes

it looks cw and dw behaves non-consistently, which I know is by the design.

I'm editing an old doc full of typos and spelling errors, etc, and I
need to do this quite often, does anyone knows of a
least-strokes-method (to protect my fingers) ?

How about one or more of the following approaches:
  1. :s/<old>/<new>/g { or s/<old>/<new>/gc for interactive }
  2. Do caw123<esc> and repeat further occurences with "." (dot)
  3. Recording multiple common occurrences into multiple registers (say a,b,c)
      and apply using (@a, @b, @c) {See :h recording}
      For eg: qa/abc 456<cr>caw123<esc>q { You have now recorded abc to 123 transformation
      into register a. Apply further occurences using @a (further hits can use @@) }. Of course,
      if you do not want the search to be part of the macro, you can drop it.

Regards,
-Arun

--
--
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

---
You received this message because you are subscribed to the Google Groups "vim_use" group.
To unsubscribe from this group and stop receiving emails from it, send an email to vim_use+unsubscribe@googlegroups.com.
For more options, visit https://groups.google.com/d/optout.

No comments: