One thing that's bothered me with vi is that paste (p) inserts lines after the line I'm on, which makes it impossible for me to insert things at the top of a file.
For instance, say I'm going through and adding a UTF-8 declaration to the top of a few files:
# -*- coding: utf-8 -*-
yy and it's yanked. Good.
I switch over to another file, gg to get to the top, and p to paste, and I end up with something like this:
import sys
# -*- coding: utf-8 -*-
which is not what I want.
Now, I'm always finding new things I can do with vi, so I was figuring that this was something I should be able to do, but just didn't know how to. Searching, however, doesn't provide very useful results, as everybody and their mother has a vi(m) cheatsheet, with both the p and gg in it. Thus, I come to SO: is this possible, and if so, how?