Когда я делаю vimdiff file2 file1
, file2
естественно идет слева и file1
справа.
Иногда я обнаруживаю, что поставил их неправильно, поэтому я хотел бы иметь возможность переключать их, не покидая Vim. Это возможно?
Вы можете использовать Ctrlw- x. От :he CTRL-W_x
:
CTRL-W x CTRL-W_x CTRL-W_CTRL-X
CTRL-W CTRL-X Without count: Exchange current window with next one. If there
is no next window, exchange with previous window.
With count: Exchange current window with Nth window (first
window is 1). The cursor is put in the other window.
When vertical and horizontal window splits are mixed, the
exchange is only done in the row or column of windows that the
current window is in.
Как бы вы переключали любое другое окно <c-w>x
или <c-w>r
есть два варианта.
Если открыть только два окна, <c-w>k
они переключатся и оставят курсор в окне, в котором он находился до переключения (т. Е. Если перед переключателем фокусированное окно находится слева, то после переключателя оно будет слева).
<c-w>x
переключит окна и переместит курсор в переключаемом окне (т.е. сфокусированное окно останется слева, если оно было слева).
Смотрите :help window-moving
больше команд для перемещения окон.
Я считаю, что следующие команды гораздо более интуитивно понятны, чем Ctrlw- x.
:help CTRL-W_K
The following commands can be used to change the window layout. For example,
when there are two vertically split windows, CTRL-W K will change that in
horizontally split windows. CTRL-W H does it the other way around.
*CTRL-W_K*
CTRL-W K Move the current window to be at the very top, using the full
width of the screen. This works like closing the current
window and then creating another one with ":topleft split",
except that the current window contents is used for the new
window.
*CTRL-W_J*
CTRL-W J Move the current window to be at the very bottom, using the
full width of the screen. This works like closing the current
window and then creating another one with ":botright split",
except that the current window contents is used for the new
window.
*CTRL-W_H*
CTRL-W H Move the current window to be at the far left, using the
full height of the screen. This works like closing the
current window and then creating another one with
":vert topleft split", except that the current window contents
is used for the new window.
{not available when compiled without the |+vertsplit| feature}
*CTRL-W_L*
CTRL-W L Move the current window to be at the far right, using the full
height of the screen. This works like closing the
current window and then creating another one with
":vert botright split", except that the current window
contents is used for the new window.
{not available when compiled without the |+vertsplit| feature}
Однако эти команды могут изменить размер окна, поэтому имейте это в виду.