Usually, I name my tmux sessions according to what project I'm working on. To
attach a specific session, I use a custom tm
function, with the appropriate
completion:
# 2011-10-19: tmux shortcut for creating/attaching named sessions
tm() {
[[ -z "$1" ]] && { echo "usage: tm <session>" >&2; return 1; }
tmux has -t $1 && tmux attach -t $1 || tmux new -s $1
}
# 2011-10-19
# stolen from completion function _tmux
function __tmux-sessions() {
local expl
local -a sessions
sessions=( ${${(f)"$(command tmux list-sessions)"}/:[ $'\t']##/:} )
_describe -t sessions 'sessions' sessions "$@"
}
compdef __tmux-sessions tm
It looks like this:
A colleague use this, but with a modification. If [[ -z "$1" ]]
, he'll simply
do a tmux attach
, which will attach the last recently used session.