Jak wyśrodkować bieżącą linię na ekranie?

23

Czy istnieje sposób wyśrodkowania linii, którą edytuję na ekranie? Czasami jest to potrzebne, aby zobaczyć nieco więcej kontekstu powyżej i poniżej bieżącej linii.

Thameera
źródło

Odpowiedzi:

28

Te z.i zzpolecenia wycentruje linii znajduje się kursor. z.przesuwa również kursor na pierwszy znak inny niż biały w wierszu, jednocześnie zzutrzymując kursor w tym miejscu.

Istnieją podobne polecenia dla górnej ( z<CR>/ zt) i dolnej ( z-/ zb) okna.

Wersje tych poleceń, które kończą się na literę, utrzymują kolumnę kursora, a te kończące się interpunkcją przesuwają kursor.

jamessan
źródło
6

Wpisz, zzaby wyśrodkować bieżącą linię na ekranie:

wprowadź opis zdjęcia tutaj

Cofnij
źródło
Doskonały! Dodałem to do mojego BufReadPost autocmd, więc wznawiam edycję z przywróconą linią kursora i wyśrodkowaną na ekranie:au BufReadPost * if line("'\"") > 1 && line("'\"") <= line("$") | "normal! g'\"zz"
John P
Głosowanie za animacją :-)
2

Tak, w trybie normalnym możesz zzto zrobić. Ale jak ostrzegają dokumenty , uważaj na capslock, ponieważ ZZzapisze bufor do pliku i wyjdzie.

HAL 9001
źródło
Z jakiegoś powodu stało się to spornym punktem spornym w innym wątku SO / SE ... wydawało się, że należy przytrzymać klawisz Shift w dół w razie potrzeby i ponownie przypisać klawisz Caps Lock na poziomie systemu, aby usunąć pokusę i tak dalej , nigdy więcej Caps Lock Whoopsies. W przeciwnym razie to twoja wina. Domyślam się, że nigdy nie mieli do czynienia z makrami preprocesora ...
John P
1

W trybie normalnym zzprzesuwa linię znajdującą się obecnie pod kursorem na środek ekranu.

Pythor
źródło