Como centralizo a linha atual na tela?

23

Existe uma maneira de centralizar a linha que estou editando na tela? Às vezes, isso é necessário para ver um pouco mais de contexto acima e abaixo da linha atual.

thameera
fonte

Respostas:

28

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.

jamessan
fonte
6

Digite zzpara centralizar a linha atual na tela:

insira a descrição da imagem aqui

Desfazer
fonte
Perfeito! Adicionei isso ao meu autocmd do BufReadPost para continuar a edição com a linha do cursor restaurada e centralizada na tela:au BufReadPost * if line("'\"") > 1 && line("'\"") <= line("$") | "normal! g'\"zz"
John P
Upvote para a animação :-)
2

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.

HAL 9001
fonte
Por alguma razão, isso se tornou um grande ponto de discórdia em outro encadeamento SO / SE ... o consenso parecia ser que você deveria manter a tecla shift pressionada indefinidamente conforme necessário e remapear a tecla caps lock no nível do sistema para remover a tentação, e pronto , não há mais caps lock whoopsies. Caso contrário, a culpa é sua. Eu estou supondo que eles nunca tiveram que lidar com macros de pré-processamento ...
John P
1

No modo normal, zzmoverá a linha atualmente sob o cursor para o centro da tela.

Pythor
fonte