-
Website
http://www.tech-recipes.com/ -
Original page
http://www.tech-recipes.com/rx/219/copy-and-paste-text-with-vi-or-vim/ -
Subscribe
All Comments -
Community
-
Top Commenters
-
davak
83 comments · 1 points
-
danishbacker
9 comments · 1 points
-
flexinfo
11 comments · 1 points
-
bej
4 comments · 1 points
-
dimithri
5 comments · 1 points
-
-
Popular Threads
-
Windows 7: How to Prevent the Mouse from Waking your PC
1 week ago · 2 comments
-
Outlook 2010: Turn Off Attachment Preview
2 weeks ago · 2 comments
-
Gmail: How to Send SMS Messages Without Using Email
3 weeks ago · 2 comments
-
Thunderbird 3: How to Download Images Automatically
2 weeks ago · 1 comment
-
Windows 7 – Prevent Live Messenger from Opening at Start Up
2 weeks ago · 1 comment
-
Windows 7: How to Prevent the Mouse from Waking your PC
You might find something like this helpful as a reference: http://www.onlamp.com/pub/a/bsd/2001/10/25/Free...
go to the line you wish to start yanking/cutting
CTRL-V (enable visual mode)
SHIFT-$ (select to end of line)
<down arrow> (select the lines you wish to yank/cut)
d (cut lines) or y (yank/copy)
now just use 'p' or 'P' as needed to paste below or above cursor!
This is the same as fuzzy's except it allows you to "SEE" what you are yanking.
CTRL-V is Visual Block Mode
simply use the lowercase "v" to enter visual mode and no need to do the "SHIFT-$" (should be SHIFT-4 or $) as mentioned above. So that process now beomes:
go to the line you wish to start yanking/cutting
v (enable visual mode)
<down arrow> (select the lines you wish to yank/cut)
or
<right/left arrow> (select characters/words in a line)
d (cut lines) or y (yank/copy)
now just use 'p' or 'P' as needed to paste below or above cursor!
You have several options that I know of--and I'm not even a vim master. Just for clarity's sake, fileA refers to the file you want to copy *from*, and fileB refers to the file you want to copy *to*.
1. You could open fileB, execute the command ":r fileA" (which would copy all of fileA into the open file), and then remove the portions you don't want.
2. You could open fileA, execute the command ":split fileB" (which would open fileB to the side of fileA), select the lines you wish to copy from fileA with the combination Shift+V and up/down arrow or j/k, press "y" to yank the lines, switch over to fileB with Ctrl+W Ctrl+W, and then paste the lines with "p".
3. Open fileA, select the lines you wish to copy, yank the lines with ""by" (note that's a double-quotation mark in front of the "b", and that the "b" could be any letter of the alphabet), open fileB, and finally paste the lines with ""bp" (where "b" is the same letter you used to yank).
Note that some of these methods may differ, depending on your version of vim. And by the by, the files don't have to be in the same folder for these options to work; you simply specify the path to the files (i.e., ":split /path/to/fileB").