Tmux: sessões nomeadas com autocomplete

Tmux é uma ótima ferramenta, mas geralmente acho difícil rastrear minhas sessões. Então, depois de algumas pesquisas no Google, encontrei um truque que permite nomear e recuperar facilmente sessões tmux vivas (com autocomplete)

Aqui está a função (zsh)

function tm() {
[[ -z "$1" ]] && { echo "usage: tm <session>" >&2; return 1; }
tmux has
-t $1 && tmux attach -t $1 || tmux new -s $1
}

function __tmux-sessions() {
local expl
local -a sessions
sessions
=( ${${(f)"$(command tmux list-sessions)"}/:[ $'t']##/:} )
_describe
-t sessions 'sessions' sessions "$@"
}
compdef __tmux
-sessions tm

Exemplo :

$ tm testsession1  # Launch a tmux session named testsession1
$ tm testsession2
# Launch a second tmux session named testsession2
$ tm
<tab> # List (autocomplete) existing sessions

Fonte