Comment centrer la ligne actuelle sur l'écran?

23

Existe-t-il un moyen de centrer la ligne que je modifie à l'écran? Cela est parfois nécessaire pour voir un peu plus de contexte au-dessus et au-dessous de la ligne actuelle.

thameera
la source

Réponses:

28

Les commandes z.et zzrecentreront la ligne sur laquelle se trouve le curseur. z.déplace également le curseur sur le premier caractère non blanc de la ligne, tout en zzmaintenant le curseur là où il se trouve.

Il existe des commandes similaires pour le haut ( z<CR>/ zt) et le bas ( z-/ zb) de la fenêtre.

Les versions de ces commandes qui se terminent par une lettre conservent la colonne du curseur, tandis que celles se terminant par une ponctuation déplacent le curseur.

jamessan
la source
6

Tapez zzpour centrer la ligne actuelle à l'écran:

entrez la description de l'image ici

annuler
la source
Parfait! J'ai ajouté ceci à mon autocmd BufReadPost donc je reprends l'édition avec la ligne de curseur restaurée et centrée sur l'écran:au BufReadPost * if line("'\"") > 1 && line("'\"") <= line("$") | "normal! g'\"zz"
John P
Vote positif pour l'animation :-)
2

Oui, en mode normal, vous pouvez le zzfaire. Mais comme les documents vous préviennent, soyez prudent avec capslock car vous ZZécrivez le tampon dans un fichier et vous quittez.

HAL 9001
la source
Pour une raison quelconque, cela est devenu un énorme point de discorde sur un autre thread SO / SE ... le consensus semblait être que vous devriez maintenir la touche Maj enfoncée indéfiniment selon les besoins et remapper la touche de verrouillage des majuscules au niveau du système pour supprimer la tentation, et voilà , plus de majuscules verrouillent les whoopsies. Sinon, c'est votre faute. Je suppose qu'ils n'ont jamais eu à gérer de macros de préprocesseur ...
John P
1

En mode normal, zzdéplace la ligne actuellement sous le curseur au centre de l'écran.

Pythor
la source