TMUX: После сплит-окна, как узнать новый идентификатор панели?

Это похоже на достаточно простую процедуру, которую я пытаюсь выполнить, но я искал безрезультатно. Я хотел бы создать привязку ключей, которая делает разделенное окно, а затем посылает ключи на вновь созданную панель; однако мне нужен идентификатор панели для использования с командой send-keys. Уловка заключается в том, что я НЕ знаю, сколько окон открыто в окне; поэтому я не знаю, как запустить код в исходной панели, чтобы определить, каким будет новый индекс панели. Есть ли способ узнать этот новый индекс или идентификатор (любой из них можно использовать в качестве цели)?

Благодарю.

3 Solutions collect form web for “TMUX: После сплит-окна, как узнать новый идентификатор панели?”

Вы слишком задумываетесь о своей проблеме. Когда вы делаете split-window новая панель становится текущей целью для send-keys . Вы не должны вызывать tmux в привязке, поскольку вы уже находитесь в tmux. Пытаться

 bind-key s split-window \; send-keys "pwd" Enter 

Ну, я все же предпочел бы найти прямой способ получить новый идентификатор панели, но я, по крайней мере, смог выполнить свою задачу, вызвав скрипт оболочки вместо того, чтобы пытаться сделать все это в tmux.conf. Кажется, kludgy для меня, но это работает. tmux.conf:

 bind s run-shell "~/bin/tmux_split_pane.sh '#{window_id}' '#{pane_id}'" 

и сценарий:

 #!/bin/sh current_window_id=$1 current_pane_id=$2 tmux split-window -t $current_pane_id new_pane_id=$(tmux list-panes -t "$current_window_id" | awk '{ print $7; }' | sort | tail -1) tmux send-keys -t $new_pane_id -l "update_env" \; send-keys -t $new_pane_id Enter 

В tmux каждая новая панель получает уникальное значение, к которому вы можете получить доступ, используя переменную среды TMUX_PANE . tmux display -pt "${TMUX_PANE:?}" '#{pane_index}' это покажет номер панели.

  • tmux с большим количеством терминалов, чем панели
  • Как я могу переслать уже пересылаемый ssh-ключ в tmux?
  • Как разбить новое окно и запустить команду в этом новом окне с помощью tmux?
  • tmux при запуске и проблемах с отправкой ssh-agent
  • Как создать простой tmux conf, который разбивает окно?
  • TMux: как перевернуть макет панели горизонтально / вертикально
  • Инициируйте другой терминал, запускающий tmux (от терминала, запускающего tmux)
  • Как мне перемещаться по панелям внутри окна в tmux, как на экране?
  • Сбросить фон до прозрачного с помощью tmux?
  • Как мне привязать к Shift + {Left, Right} в tmux?
  • Настройка цвета tmux hightlight
  • Interesting Posts

    Как заменить недопустимые символы на подчеркивание с помощью Perl?

    управление терминалом linux на новый терминал

    Как отключить встроенную (экранную клавиатуру), которая автоматически запускается при входе в мою систему?

    Исключить ведущие нули на определенной записи

    scp не отображает вывод при использовании с gnu parallel

    Удалите сразу несколько файлов с определенным форматированием

    Как изменить стандартную IP-маршрутизацию для определенного сетевого интерфейса

    Файловые системы, отличные от UDF и ISO9660, на компакт-дисках, DVD-дисках и Blu-ray

    Клиент OpenVPN: тайм-аут «остановки системы», оставшиеся процессы

    expr и переменные

    Управление дисковым пространством на серверах

    Есть ли истина в философии, которую вы должны синхронизировать; синхронизации; синхронизации; синхронизировать?

    инструмент командной строки для удаления выбранных тегов из mp3-файлов

    Удаленная компиляция и запуск программы с использованием ssh и экрана

    положение курсора после вставки в vi / vim

    Linux и Unix - лучшая ОС в мире.