Is it possible to always scroll the screen that way, that pressing
"n" wll always take you to the middle of the screen (or in other
words: The cursor is glued to the middle of the screen and the text
jumps "under" the cursor)?
In addition to the 'scrolloff' setting mentioned by others (which
seems to solve pretty much all your questions), if one only
wanted to do the above and not have the cursor anchored in the
middle of the scree all the time (but only when using n/N), you
could just
:nnoremap n nzz
:nnoremap N Nzz
which would only do the centering after using n/N
Likewise, if you wanted it at the top/bottom, you could use zt or
zb respectively instead of zz
-tim