- 0 Talk
-
Replace a visual-block of text with another such block
Redirected from VimTip808
created 2004 · complexity intermediate · author Chip Campbell · version 6.0
One may overwrite a visual-block of text with another visual-block of text by:
- Select the first block: ctrl-v move "ay
- Select the second block: ctrl-v move c ctrl-o "aP <Esc>
Comments
Edit
Based on the current tip, I've added a little extension to visswap.vim which allows one to
- Select a region using ctrl-v + motion (visual block)
- Hit <escape>
- Move cursor to another location, hit \vr (the backslash is actually <Leader>, so folks may customize that easily)
That sequence will replace the text in a visual-block fashion below the cursor. One may repeat the \vr multiple times for additional replacements.
For visswap.vim, see (under "Visual Mode Based Swapping"):
http://drchip.0sites.net/astronaut/vim/index.html#VISSWAP
To make second block exactly same size as first instead of <Ctrl-v>move hit 1<Ctrv-V>
This will make a rectangular selection of exactly same size as previous one using current cursor position as top left corner. Unfortunately it does not (always? yet?) work with multibyte encodings, so be careful if you use them.