Как отцентрировать текущую строку на экране?


23

Есть ли способ отцентрировать линию, которую я редактирую на экране? Это иногда необходимо, чтобы увидеть немного больше контекста выше и ниже текущей строки.

Ответы:


28

В z.и zzкомандах будут центрирования строки , в которой находится курсор. z.также перемещает курсор к первому непробельному символу в строке, zzудерживая курсор там, где он есть.

Есть аналогичные команды для верхней ( z<CR>/ zt) и нижней ( z-/ zb) окна.

Версии этих команд, заканчивающиеся буквой, сохраняют столбец курсора, а те, которые заканчиваются пунктуацией, перемещают курсор.


6

Введите, zzчтобы центрировать текущую строку на экране:

введите описание изображения здесь


Отлично! Я добавил это в свой Autocmd BufReadPost, чтобы возобновить редактирование с восстановленной и отцентрированной линией курсора на экране:au BufReadPost * if line("'\"") > 1 && line("'\"") <= line("$") | "normal! g'\"zz"
John P

Upvote для анимации :-)

2

Да, в обычном режиме вы можете использовать zzдля этого. Но, как предупреждают документы , будьте осторожны с capslock, так как ZZзапишет буфер в файл и выйдет.


По какой-то причине это стало огромным предметом спора в другом потоке SO / SE ... консенсус, похоже, заключался в том, что вы должны удерживать shift неограниченно долго по мере необходимости и переназначить клавишу caps lock на системном уровне, чтобы убрать искушение, et voilà нет больше заглавных букв. В противном случае это ваша собственная вина. Я предполагаю, что им никогда не приходилось иметь дело с макросами препроцессора ...
Джон П,

1

В обычном режиме zzпереместит линию, находящуюся под курсором, в центр экрана.

Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.