lsof /path/to/.file.swp mostrará o ID do processo do processo vim ofensivo. Se você quiser escrever um script, use pid=$(lsof -Fp "$swp_file"); pid=${pid#p} para obter apenas o ID do processo.
Em seguida, ps 12345 onde 12345 é o ID do processo mostrará algumas informações sobre o processo, em particular o que está sendo executado em ( ps -o tty= -p $pid em um script). O tty identifica unicamente uma janela do tmux (assumindo que o processo está sendo executado dentro do tmux), mas eu não sei como ir do nome do tty para a sessão do tmux.
O que daria a você a sessão tmux é o valor da variável de ambiente TMUX no processo vim. O número da sessão é o último número, após a última vírgula.
A maioria dos unices tem uma maneira de descobrir o ambiente de um processo, mas o caminho difere entre variantes unix. No Linux, você pode usar </proc/$pid/environ grep -z '^TMUX=' para mostrar o valor de $TMUX no processo $pid , para poder extrair o número da sessão como $(</proc/$pid/environ grep -z '^TMUX=' | sed 's/.*,//') .