9
votes

I can select lines using SHIFT + V, then selecting lines using up down left right keys, then copy them using y (yank them) and paste them using p (put).

I can similarly select data block using CTRL + V, then selecting lines using up down left right keys, then then copy them using y (yank them) and paste them using p (put).

But when I am pasting data blocks using p, it always pastes data after the current cursor location. Which means, if I want to paste to the beginning of lines, it won't work - it copies the data after the first character. So how can I paste data block at the beginning of a line in vim in visual mode?

Curently I do this by pasting at the second cursor location, deleting the characters at the beginning of line, and then pasting them after the previously pasted block.

2
p is "put", not "print".romainl
shift + p puts it before cursorArjen Dijkstra
[off] OP, where did you got that profile pic? is the same that my muay thai schoolbetoharres
@BetuUuUu From Deviant Art. Google tiger on flames.Anshul Goyal

2 Answers

16
votes

select and yank as what you are doing, when you paste press P instead of p. The content in " register will be put before your cursor.

also note that: with p or P, after your pasting, the cursor will stay at the beginning of the just pasted content. If you want your cursor to be at the end of pasted text, use gp or gP.

-1
votes

I think IC-r" could be close to what you want