5

Я знаю, что :swap-pane -U и :swap-pane -D будут менять местами панели вверх или вниз, но я бы хотел, чтобы привязка клавиш менялась панелями влево и вправо.

Единственный способ сделать это - сначала определить индекс панели для текущей панели, затем запустить :select-pane -R или -L и определить его индекс, а затем запустить :swap-pane -s (first pane index) -t (second pane index) .

Я просто не уверен, как это сделать в .tmux.conf - возможно ли иметь подкоманды, которые возвращают что-то в другой команде?

Например, что-то вроде этого:

bind-key -n C-{ swap-pane -s **get current pane ID** -t **get pane ID of 'select-pane -L'**

bind-key -n C-} swap-pane -s **get current pane ID** -t **get pane ID of 'select-pane -R'**

2 ответа2

7

:bind-key -n C-{ select-pane -L \; swap-pane -s '!'

Это должно сказать tmux выбрать левую панель, а затем поменять местами ранее активную панель.

Кроме того, swap-pane -s {right-of} похоже, работает.
Вот список способов ссылаться на другие панели:

{last} !       The last (previously active) pane
{next} +       The next pane by number
{previous} -   The previous pane by number
{top}          The top pane
{bottom}       The bottom pane
{left}         The leftmost pane
{right}        The rightmost pane
{top-left}     The top-left pane
{top-right}    The top-right pane
{bottom-left}  The bottom-left pane
{bottom-right} The bottom-right pane
{up-of}        The pane above the active pane
{down-of}      The pane below the active pane
{left-of}      The pane to the left of the active pane
{right-of}     The pane to the right of the active pane

Смотрите справочную страницу онлайн для справки.

1

Также можно добавить следующую строку в ~/.tmux.conf

bind v swap-pane -s '!' -t $TMUX_PANE

Это заменит текущую панель на последнюю посещенную панель. Последовательно перейдите на две панели, которые необходимо поменять местами, и используйте <prefix>v ( указанная выше команда) для выполнения подкачки. Обратите внимание, что <prefix>q показывает идентификатор панелей. Дополнительным преимуществом является то, что подкачка также работает в разных окнах.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .