No vim, use gp e gP em vez de p e P para deixar o cursor após o texto colado. Se você quiser trocar as ligações, coloque as seguintes linhas no seu .vimrc :
noremap p gp
noremap P gP
noremap gp p
noremap gP P
Estranhamente, no vim, p e P deixam o cursor no último caractere colado para um buffer de caracteres, mesmo no modo compatível.
Eu não sei como mudar isso em outras versões do vi.