Respuestas:
Los comandos z.y zzvolverán a centrar la línea en la que está el cursor. z.también mueve el cursor al primer carácter que no sea un espacio en blanco en la línea, mientras zzmantiene el cursor donde está.
Hay comandos similares para la parte superior ( z<CR>/ zt) y la parte inferior ( z-/ zb) de la ventana.
Las versiones de estos comandos que terminan en una letra mantienen la columna del cursor, mientras que las que terminan en puntuación mueven el cursor.
Sí, en modo normal puedes usarlo zzpara hacerlo. Pero como los documentos advierten, tenga cuidado con el bloqueo de mayúsculas, ya ZZque escribirá el búfer en el archivo y saldrá.
au BufReadPost * if line("'\"") > 1 && line("'\"") <= line("$") | "normal! g'\"zz"