Respostas:
Os comandos z.e zzirão atualizar mais recentemente a linha em que o cursor está. z.também move o cursor para o primeiro caractere que não seja espaço em branco na linha, enquanto zzmantém o cursor onde está.
Existem comandos semelhantes para a parte superior ( z<CR>/ zt) e a parte inferior ( z-/ zb) da janela.
As versões desses comandos que terminam em uma letra mantêm a coluna do cursor, enquanto as que terminam em pontuação movem o cursor.
Sim, no modo normal, você pode usar zzpara fazer isso. Mas, como os documentos advertem, tenha cuidado com o capslock, pois ZZele gravará o buffer no arquivo e sair.
au BufReadPost * if line("'\"") > 1 && line("'\"") <= line("$") | "normal! g'\"zz"