3

Я недавно перешел из gnu-screen в tmux. Я борюсь с одной вещью.

Мой рабочий процесс примерно такой. Я создаю сессию для каждой "задачи", которую я выполняю в любой момент времени. Таким образом, я могу работать над любой из N задач, которые я выполняю, прикрепляясь к этой сессии.

То, что я смог сделать с экраном и не смог сделать с tmux, так это: Несколько экземпляров одного и того же сеанса открываются / присоединяются в разных окнах и работают с ними одновременно. Например, если я редактирую 3 разных файла, я могу открыть их в pane1, 2 и 3 одного и того же сеанса, и каждый экземпляр одного и того же сеанса с этими 3 файлами будет открыт передо мной.

Я не смог повернуть руку Tmux, позволив мне сделать это. Всякий раз, когда я присоединяюсь к существующему присоединенному сеансу в tmux, он копирует действия, которые я выполняю в любом сеансе другого.

Надеюсь, я хорошо это объяснил. Если нет, пожалуйста, дайте мне знать.

2 ответа2

4

Я думаю, вы в основном спрашиваете, как сделать screen -x в tmux? Вот пример:

# Start a new tmux session (with default session name "0").
tmux

# Start another tmux session (default name "1"), sharing windows with "0".
tmux new-session -t 0

# Start yet another tmux session (default name "2"), sharing windows with "0" (and "1").
tmux new-session -t 0

# Now you can attach to sessions with tmux attach-session -t <0|1|2>.
# Or you can omit the -t, and I think it attaches to one that isn't attached to yet.
# I don't know the exact rules for how it decides which free session to choose.

Если вам не нравятся числовые имена по умолчанию при создании нового сеанса, вы можете передать -s other_name чтобы присвоить ему другое имя.

0

Чтобы добиться того, что вы описываете, вам может быть просто удобно иметь разные макеты в tmux (C-b + c), которые вы затем разделяете, используя (C-b +) % и " , вы можете просто иметь все элементы, которые вы хотите для задачи, на панели и затем переключение контекста с помощью C-b + n (ext) или p (revious) или с использованием чисел. Также C-b z (oom) - твой друг.

Интересно, что tmux и screen отличаются тем, как они работают с несколькими представлениями одного и того же сеанса.

  • в tmux оба вида видят одно и то же (что позволяет вам дистанционно программировать пару)
  • на экране вы можете посмотреть на разные терминалы в разных видах (что позволяет вам делиться вещами, но работать независимо ... что, возможно, полезно для использования нескольких мониторов для работы в одной командной строке, я просто еще не понял, как именно!)

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