Directions: Press the ESC key to be sure you are in vi Command mode. Place the cursor on the line you wish to copy. Type yy to copy the line.
To yank one line, position the cursor anywhere on the line and type yy . Now move the cursor to the line above where you want the yanked line to be put (copied), and type p . A copy of the yanked line will appear in a new line below the cursor. To place the yanked line in a new line above the cursor, type P .
dd
in command mode (after pressing escape) will cut the line, p
in command mode will paste.
Update:
For a bonus, d
and then a movement will cut the equivalent of that movement, so dw
will cut a word, d<down-arrow>
will cut this line and the line below, d50w
will cut 50 words.
yy
is copy line, and works like dd
.
D
cuts from cursor to end of line.
If you've used v
(visual mode), you should try V
(visual line mode) and <ctrl>v
(visual block mode).
Pressing Shift+v would select that entire line and pressing d would delete it.
You can also use dd, which is does not require you to enter visual mode.
Delete current line and copy to clipboard:
d + d
Paste After The Cursor
p
Paste Before The Cursor
Shift + p
Select Whole Line (I use this ALL the time)
Shift + v
Then j or k to move down and up respectively
Essentially d + d is the equivalent of Shift + v then d
There are several ways to cut a line, all controlled by the d
key in normal mode. If you are using visual mode (the v
key) you can just hit the d
key once you have highlighted the region you want to cut. Move to the location you would like to paste and hit the p
key to paste.
It's also worth mentioning that you can copy/cut/paste from registers. Suppose you aren't sure when or where you want to paste the text. You could save the text to up to 24 registers identified by an alphabetical letter. Just prepend your command with '
(single quote) and the register letter (a thru z). For instance you could use the visual mode (v
key) to select some text and then type 'ad
to cut the text and store it in register 'a'. Once you navigate to the location where you want to paste the text you would type 'ap
to paste the contents of register a.
Let's say that you wanted to cut the line bbb
and paste it under the line ---
Before:
aaa
bbb
---
After:
aaa
---
bbb
bbb
---
The quickest way I found is through editing mode:
yy
to copy the line.dd
to delete the line.p
to paste the line.If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With