Como pular para o meio do buffer


17

Pressionando gge Gvocê pode pular para as duas extremidades de um buffer.

42G pula para a linha 42.

Existe algum gatalho rápido para pular para o meio do buffer. Algo como aproximadamente round(number of lines/2)G?

Respostas:


33

Você pode usar N%para pular para a enésima porcentagem do arquivo. Por exemplo, 50%pula aproximadamente para o meio do buffer. Veja a ajuda em:h N%


3

Eu uso esses mapeamentos em minhas próprias configurações:

nnoremap <expr> M (line('$')/2).'G'
xnoremap <expr> M (line('$')/2).'G'
onoremap <expr> M (line('$')/2).'G'

É bem simples, ele simplesmente avalia a expressão (line('$')/2).'G'antes de executar o mapeamento. line('$')é o número da última linha no buffer, que dividimos por dois. Em seguida, .'G'apenas adiciona 'G' à string resultante.

Se você gosta de usar o padrão M(meio da tela visível), pode fazer deste um mapeamento de líder para não substituí-lo. Por exemplo:

nnoremap <expr> <leader>m (line('$')/2).'G'
xnoremap <expr> <leader>m (line('$')/2).'G'
onoremap <expr> <leader>m (line('$')/2).'G'

-1

Você pode usar N%para pular para a enésima porcentagem do arquivo. Por exemplo, 50%pula aproximadamente para o meio do buffer.

Veja a ajuda em :h N%


Editei a resposta porque ela apareceu na fila do "primeiro post" para torná-la legível (a formatação foi terrível), mas não vi que fosse apenas uma duplicata da resposta de Christian.
statox
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.