vim copy and replace text

前端 未结 10 2224
名媛妹妹
名媛妹妹 2021-02-14 18:02

Lets say that i have this text:

$test = \'lorem\';
$test2= \'ipsum\';

and I want to copy lorem and paste into ipsum. I tried to do yi\' on lor

相关标签:
10条回答
  • 2021-02-14 18:36

    Words here to stop Markdown treating the code that follows as plain text.

    /lorem
    "adw
    /ipsum
    "aP"bdw
    ``
    "bp
    

    The first text searches for 'lorem'; the next deletes the word into the buffer named 'a', leaving a pair of empty quotes behind in the text. The next search finds 'ipsum'; the "aP pulls the buffer named 'a' in before the word ipsum; the "bdw deletes the word into the buffer named 'b', leaving 'lorem' behind. The double back-tick goes back to the place the last search came from - the empty quotes; and "bp pulls the named buffer after the first quote.

    You can also omit the "a and "b, but this way, the values are in the named buffers "a and "b and can be copied again, and again, and again until you don't need the values any more.

    0 讨论(0)
  • 2021-02-14 18:39

    You want to use y to copy a selection and p to paste.

    Here is a good list to keep handy.

    0 讨论(0)
  • 2021-02-14 18:42

    yi' on lorem, move to i of ipsum, vep?

    0 讨论(0)
  • 2021-02-14 18:42

    Why don't you yank into a named buffer, using "ayi', then delete and paste with d'i"aP?

    0 讨论(0)
  • 2021-02-14 18:43

    After you do ci' on impsum your lorem is in register "0. So, you can do ci'^R0 (^R means Ctrl+r) and paste your lorem in place of ipsum.

    See :help quote_number for more info on numbered registers.

    0 讨论(0)
  • 2021-02-14 18:49

    Easy:

    "kyi' on lorem, move to i of ipsum, ve"kp

    This yanks lorem into register k, pastes it over ipsum from register k, and keeps it in register k ready to paste again anywhere else you might want to put it. ipsum still ends up in the default register, but that's no longer a problem and could be useful too.

    If you've already got something in register k, you can use a different register instead (just use a different key).

    0 讨论(0)
提交回复
热议问题