Тод Фрід має рацію, "правильний" спосіб це зробити - це використовувати \;
. Типу. Але є корч.
Розумієте, ви з'єднуєте послідовність команд tmux разом, надаючи tmux сполучник ;
. Таким чином, ви можете сказати у файлі, створеному tmux
new-session "monitor1" ; split-window -v "monitor2"
якщо ви чомусь хотіли, щоб це все було в одному рядку. Тепер ви можете дати , що складовою оператор одного рядка до tmux
команді з оболонки також , але;
повинні бути екрановані , так що оболонка інтерпретує його як ще один аргумент в користь tmux
. Таким чином, еквівалент вищезазначеного з оболонки є
$ tmux new-session "monitor1" \; split-window -v "monitor2"
Аналогічно bind-key
команда tmux приймає ряд аргументів, які є командою tmux та аргументами, які потрібно запустити при натисканні клавіші. Якщо ви хочете прив’язати C-q
до вищезазначеної послідовності всередині файлу, створеного tmux, ви скажете
bind-key -n C-q new-session "monitor1" \; split-window -v "monitor2"
Тут ми уникнули ;
від tmux , так що tmux не трактує це як кінець bind-key
команди, а як інший аргумент, який повинен bind-key
сказати йому сформувати складну команду як обмежене значення C-q
ключа.
Отже, що відбувається, коли ми хочемо змусити tmux робити це з оболонки? Ціла купа втечі.
$ tmux bind-key -n C-q new-session "monitor1" \\\; split-window -v "monitor2"
По- перше, ми повинні рятуючись від \
і;
кожен з оболонки , в результаті чого оболонка пройти два символу в \;
якості аргументу tmux
. Потім це виходить ;
з tmux, внаслідок чого він присвоює весь складений оператор як зв'язування C-q
.
Тепер, усе, що сказано, якщо ви використовуєте складну програму tmux, як це неодноразово, я б запропонував вам створити файл tmux, щоб зберегти його:
# In split-windows.tmux:
new-session "monitor1"
split-window -v "monitor2"
bind-key -n C-s new-window "monitor4"
# ...etc...
І потім:
$ tmux source split-windows.tmux # (or even make an alias for this)
Це буде набагато простіше підтримувати такий спосіб.
\;
:$ tmux bind-key -n C-q new-session "monitor1" '\;' split-window -v "monitor2"