Respostas:
Você pode fazer assim:
function! s:MoveAndCenter(motion)
return a:motion . (v:count > 1 ? 'zz' : '')
endfunction
noremap <silent> <expr> j <sid>MoveAndCenter('j')
noremap <silent> <expr> k <sid>MoveAndCenter('k')
Isso diz ao Vim para executar uma expressão toda vez jou kser pressionado, e usar a string retornada daquela expressão como o comando do modo normal a ser executado. A razão pela qual não adicionamos a contagem ao resultado é que o Vim a adiciona automaticamente (na verdade, esse comportamento não pode ser evitado).
Vejo:
:help :map-expr
:help v:count
line(...)
apenas centralizar quando eu pulo para uma linha que não é visível na janela atual.