LoginSignup
51
51

More than 3 years have passed since last update.

tmuxの操作を選択的UIでインタラクティブにする

Last updated at Posted at 2016-07-14

今回作ったのは、tmuximumというシェルのコマンドです。

ZIFU3.gif

使い方

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

ZIFU3.gif

と、コマンド一発で選択的インターフェイス(この場合はfzf)を使い目的のセッションにアタッチできます。

具体的に機能を説明していきます。
このコマンドは、tmuxの内外で挙動が変わります。

tmux外

tmuxの外にいるときにtmuximumでできることは

  • 既存のセッションにアタッチ
  • 新しいセッションを作る
  • 既存のセッションを終了する

です。
このうち上二つは先ほどのgifでわかると思いますが、セッションの終了はこんな感じです↓

ZIFU4.gif

上のgifでは既存のセッションを二つ終了しています。
全部上下十字キーとEnterのみでできるので非常にストレスなく操作できます。

tmux内

tmuxの中にいるときにtmuximumでできることは

  • ウィンドウの移動
  • セッションの終了
  • ウィンドウの終了

です。

tmuximum_4.gif

使用例

まず、tmuximumってコマンドが長くて打ちにくいので(tmuxの2倍も打たなきゃいけない) ~/.zshrcとかに

.zshrc
alias t="tmuximum"

ってしとくといいと思います。頻繁に使うので一文字で。

一番オススメなのは、シェルの起動時に自動でtmuximumを実行させることです。
今までもシェルの起動時に「セッションがなかったらtmux new-session、あったらtmux attach」みたいな設定を書いてた人は多いと思うんですけど、tmuximumを使うことによってより快適になります。

.zshrc
if [ -z $TMUX ]; then
  tmuximum
fi

インストール

2018/4/5追記

ソースからインストールする場合は

$ curl -L raw.github.com/arks22/tmuximum/master/install.bash | bash 

とかでなんとかしてパスを通すなどしてください。

---以上追記---

zplugを使っている方は、

~/.zshrc
zplug "arks22/tmuximum", as:command

としてくれれば動きます、zplug最高

そういえば、fzfがないと動きません。すいません、いつかpecoとかにも対応します

fzf,fzf-tmux,peco,percol,gofに対応しました。(2018/4/5追記)

zshでしか動作確認していないので、bashとかfishだとどうなるかわかりません。不具合があったらここのコメントでもいいので報告してください。すぐ直すと思います。

51
51
3

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
51
51