You might want to increase it to have more time when selecting a register. Hint 2: The default timeout for multi-key mappings is pretty short. The leader key is \ by default, so you can easily cut text by typing \d or \D. But since I'm lazy this is way too long for me ) Therefore I'm using the following mapping: noremap d "0d Hint 1: The cut command is now "0d instead of just d. This way the standard behaviour is preserved, except for the implicit p and P strokes, which now use register 0 by default. Therefore all p strokes with an explicitly selected register are mapped to the equivalent commandline expression within the for-loop. However, this prevents p from accessing any other registers. The first line maps each p stroke to "0p. This can be achieved by putting the following lines into your. Unfortunately selecting register 0 all the time can be quite annoying, so it would be nice if p uses "0 by default. Register 0 always contains the last yank (as Rafael, alex2k8 and idbrii have already mentioned). If you are only using vi, then youll have to use invisible marks instead the visual mode, :he mark for more on this, I'm sorry but I'm not very good with this invisible marks thing, I'm pretty contaminated with visual mode.Ī minimal invasive solution for the lazy ones: This has the little inconvenient that puts the last block on the buffer, so it's somehow not desired for repeated pastings of the same thing, so you'll want to save the source to a named buffer with something like "ay (to a buffer called "a") and paste with something like "ap (but then if you're programming, you probably don't want to paste several times but to create a function and call it, right? RIGHT?). p: paste (with the selection on the two last lines, it will replace those lines with whatever there is in the buffer - the 2 first lines in this case).k: go up one line (as before, with the visual mode enabled, this grows the selection one line up).y: yank to the default buffer (the two selected lines, and it automatically exits you from visual mode).j: go down one line (with the selection started on the previous lines this grows the selection one line down).With the following sequence: ggVjyGVkp you'll end with: What you want to do is use visual mode to select the source, then yank, then use visual mode again to select the scope of the destination, and then paste to text from the default buffer. If you're using Vim then you'll have the visual mode, which is like selecting, but with the separating modes thing that's the basis of vi/vim.