2

Tl; dr - как мне найти имя команды (например, $ BASH_COMMAND), работающей на удаленном конце соединения ssh?

...

Мой пример установки - две вертикальные панели tmux,

  1. Панель LH запускает локальную сессию vim с вертикальным разделением,
  2. Панель RH запускает сессию ssh с vim, снова с вертикальным разделением.

Используя tmux-navigator, я могу перемещаться слева направо по первым 3 буферам vim, но четвертый (крайний правый) недоступен.

Причина этого заключается в том, что tmux-navigator проверяет значение 'pane_current_command' и сравнивает его с 'vim', прежде чем решить, какие нажатия клавиш отправлять. На правой панели tmux текущей командой является 'ssh', а не 'vim'.

Что я хочу сделать, это проверить (pane_current_command = ~ 'ssh') и, если это так, проверить команду, которая выполняется на дальней стороне соединения? Я не могу найти способ заполучить это, поэтому любые предложения будут приветствоваться?

Для информации проблема почти такая же, как эта, но без вложенных сеансов tmux:https://github.com/christoomey/vim-tmux-navigator/issues/12

1 ответ1

0

Как правило, невозможно узнать, какая команда выполняется ssh . Однако в вашей ситуации вы можете установить заголовок панели перед запуском vim , используя, например:

printf '\033]2;vim\033\\'

и в tmux проверьте pane_title .

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