어떤 tmux 창이 pid 또는 tty에서 왔는지 알아내는 쉘 스크립트가 있습니다.
#!/bin/sh
if [ -c "$1" ]; then
tty="$1"
else
tty=/dev/$(ps -q "$1" -otty=)
fi
target=$(tmux list-panes -aF '#{pane_tty} #S:#I' | sed -ne "s~$tty \(.*\)~\1~p")
echo "$target"
(명확성을 위해 오류 처리가 제거됨)
여기에서 재미삼아 다음과 같이 복사 모드 키 바인딩을 설정할 수 있습니다.
bind-key -T copy-mode-vi C-] switch-client -t'#(my_script.sh "#{copy_cursor_word}")'
따라서 파일을 편집하려고 할 때 vim에서 "이 파일은 이미 열려 있습니다"라는 메시지가 표시되면 커서를 PID로 이동하고 ^]를 눌러 열린 편집기로 직접 이동할 수 있습니다.
하지만~해야 한다외부 스크립트를 통해 이를 달성해야 합니까, 아니면 tmux 내에서 완전히 수행할 수 있습니까?