今回作ったのは、tmuximum
というシェルのコマンドです。
#使い方
tmuximumは、tmuxのコマンドによる一連の面倒な操作を簡略化するために作られました。
例えばtmuxのセッションにアタッチするのに、普通は
$ tmux list-sessions
2: 1 windows (created Thu Jul 14 22:55:13 2016) [123x48]
4: 1 windows (created Thu Jul 14 23:19:11 2016) [80x24]
5: 1 windows (created Thu Jul 14 23:19:32 2016) [80x24]
$ tmux a -t 4
と、セッションのリストを表示させてそこから目当てのセッションを選びアタッチするような作業をしなければいけませんが、tmuximumなら
$ tmuximum
と、コマンド一発で選択的インターフェイス(この場合はfzf)を使い目的のセッションにアタッチできます。
具体的に機能を説明していきます。
このコマンドは、tmuxの内外で挙動が変わります。
##tmux外
tmuxの外にいるときにtmuximumでできることは
- 既存のセッションにアタッチ
- 新しいセッションを作る
- 既存のセッションを終了する
です。
このうち上二つは先ほどのgifでわかると思いますが、セッションの終了はこんな感じです↓
上のgifでは既存のセッションを二つ終了しています。
全部上下十字キーとEnterのみでできるので非常にストレスなく操作できます。
##tmux内
tmuxの中にいるときにtmuximumでできることは
- ウィンドウの移動
- セッションの終了
- ウィンドウの終了
です。
##使用例
まず、tmuximum
ってコマンドが長くて打ちにくいので(tmux
の2倍も打たなきゃいけない) ~/.zshrc
とかに
alias t="tmuximum"
ってしとくといいと思います。頻繁に使うので一文字で。
一番オススメなのは、シェルの起動時に自動でtmuximum
を実行させることです。
今までもシェルの起動時に「セッションがなかったらtmux new-session
、あったらtmux attach
」みたいな設定を書いてた人は多いと思うんですけど、tmuximum
を使うことによってより快適になります。
if [ -z $TMUX ]; then
tmuximum
fi
#インストール
2018/4/5追記
ソースからインストールする場合は
$ curl -L raw.github.com/arks22/tmuximum/master/install.bash | bash
とかでなんとかしてパスを通すなどしてください。
---以上追記---
zplugを使っている方は、
zplug "arks22/tmuximum", as:command
としてくれれば動きます、zplug最高
そういえば、fzfがないと動きません。すいません、いつかpecoとかにも対応します
fzf,fzf-tmux,peco,percol,gofに対応しました。(2018/4/5追記)
zshでしか動作確認していないので、bashとかfishだとどうなるかわかりません。不具合があったらここのコメントでもいいので報告してください。すぐ直すと思います。