У меня есть несколько компьютеров, на которых я использую tmux как локально, так и удаленно (через ssh с вложенными сеансами tmux ). В настоящее время я использую Ctrl+B в качестве префикса на всех машинах , но это немного утомительно типа Ctrl+B B независимо , как только я хочу , чтобы выполнить более одного действия.

Есть ли способ настроить tmux так, чтобы при доступе к нему из моего эмулятора терминала я использовал префикс Ctrl+B, а при обращении к нему из ssh я использовал Ctrl+A (или что-то еще) в качестве префикса?

2 ответа2

1

Для меня сработало не изменение префикса и добавление следующего в мой .tmux.conf:

bind-key -n C-a send-prefix

Он просто отправляет префикс к вложенному сеансу tmux когда я нажимаю Ctrl+A. Я чувствую что-то вроде того, что не придумал это раньше ...

0

Вы можете использовать функцию run-shell в tmux.

Создайте следующий скрипт оболочки с именем set-prefix.sh

#!/bin/bash
if [[ -n $SSH_TTY ]];then
    tmux unbind-key C-b;
    tmux set -g prefix C-a;
    tmux bind C-a send-prefix;
else
    tmux display-message "Not a ssh session"
fi

Теперь добавьте следующую строку в .tmux.conf:

run 'bash ~/set_key_bind.sh'

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