How to put current line at top/center/bottom of screen in vim?
z<CR>
or zt
puts current line to top of screen (<CR>
== Enter)
z.
or zz
puts current line to center of screen
z-
or zb
puts current line to bottom of screen
(z<CR>
, z.
, and z-
puts the cursor in the first non blank column. zt
, zz
, and zb
leaves the cursor in the current column)
More info about scrolling at http://vimdoc.sourceforge.net/htmldoc/scroll.html
or
in vim type :help scroll-cursor
Output of the :help scroll-cursor
@mtk mentions. Note that there is a difference between zz
and z.
.
Scrolling relative to cursor (scroll-cursor)
The following commands reposition the edit window (the part of the buffer that you see) while keeping the cursor on the same line:
z<CR> Redraw, line [count] at top of window (default
cursor line). Put cursor at first non-blank in the
line.
zt Like "z<CR>", but leave the cursor in the same
column. {not in Vi}
z{height}<CR> Redraw, make window {height} lines tall. This is
useful to make the number of lines small when screen
updating is very slow. Cannot make the height more
than the physical screen height.
z. Redraw, line [count] at center of window (default
cursor line). Put cursor at first non-blank in the
line.
zz Like "z.", but leave the cursor in the same column.
Careful: If caps-lock is on, this command becomes
"ZZ": write buffer and exit! {not in Vi}
z- Redraw, line [count] at bottom of window (default
cursor line). Put cursor at first non-blank in the
line.
zb Like "z-", but leave the cursor in the same column.
{not in Vi}
Scrolling horizontally (scroll-horizontal)
For the following four commands the cursor follows the screen. If the character that the cursor is on is moved off the screen, the cursor is moved to the closest character that is on the screen. The value of 'sidescroll' is not used.
z<Right> or
zl Move the view on the text [count] characters to the
right, thus scroll the text [count] characters to the
left. This only works when 'wrap' is off. {not in
Vi}
z<Left> or
zh Move the view on the text [count] characters to the
left, thus scroll the text [count] characters to the
right. This only works when 'wrap' is off. {not in
Vi}
zL Move the view on the text half a screenwidth to the
right, thus scroll the text half a screenwidth to the
left. This only works when 'wrap' is off. {not in
Vi}
zH Move the view on the text half a screenwidth to the
left, thus scroll the text half a screenwidth to the
right. This only works when 'wrap' is off. {not in
Vi}
For the following two commands the cursor is not moved in the text, only the text scrolls on the screen.
zs Scroll the text horizontally to position the cursor
at the start (left side) of the screen. This only
works when 'wrap' is off. {not in Vi}
ze Scroll the text horizontally to position the cursor
at the end (right side) of the screen. This only
works when 'wrap' is off. {not in Vi}