apenas por diversão, veja como você pode alcançar o comportamento desejado para os exemplos que forneceu:
set selection=exclusive
set virtualedit+=onemore
" this is just a crude proof of concept with theoretically addressable weak points
nnoremap vd <Nop>
noremap p P
noremap a i
" make i<Esc> not move the cursor
inoremap <Esc> <Right><Esc>
Mas eu quase não vejo o ponto. Cuidado para explicar por que você quer isso? Por exemplo. como é vd
relevante e porque não basta usar i
e nunca a
?