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.

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.


6

Digite zzpara centralizar a linha atual na tela:

insira a descrição da imagem aqui


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.


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.

Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.