Come saltare al centro del buffer


17

Premendo gge Gpuoi saltare ad entrambe le estremità di un buffer.

42G passa alla linea 42.

Esiste un gcollegamento rapido per passare al centro del buffer. Qualcosa di simile round(number of lines/2)G?

Risposte:


33

Puoi usare N%per saltare all'ennesimo percento del file. Ad esempio, 50%salta all'incirca al centro del buffer. Vedi l'aiuto a:h N%


3

Uso queste mappature nelle mie impostazioni:

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

È piuttosto semplice, valuta semplicemente l'espressione (line('$')/2).'G'prima di eseguire la mappatura. line('$')è il numero dell'ultima riga nel buffer, che dividiamo per due. Quindi il .'G'giusto aggiunge 'G' alla stringa risultante.

Se ti piace usare l'impostazione predefinita M(al centro dello schermo visibile), potresti renderla una mappatura leader in modo da non sovrascriverla. Per esempio:

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

-1

Puoi usare N%per saltare all'ennesimo percento del file. Ad esempio, 50%salta all'incirca al centro del buffer.

Vedi l'aiuto a :h N%


Ho modificato la risposta perché è apparsa nella coda del "primo post" per renderla leggibile (la formattazione era terribile) ma non ho visto che è solo un duplicato della risposta di Christian.
statox
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.