とよぶ

歌いながらコード書いてます

tmuxと仲良くなる

  1. tmuxなんか便利そうだけど設定とかちょっとよくわかんない
  2. tmuxって何が便利なの?

って人向けに、自分目線で書くw

tmuxってなんか便利そうだけど設定とかちょっとよくわかんない

この状態で僕は1年位経ちましたw
混乱する理由は以下の様な点だと思う

設定ファイルの書き方の解説が無い

なんか日本語ドキュメント調べてみると、もうとにかくこれ!
みんな設定ファイルの書き方とか読み方教えてよ!!!w
てなわけで、manを見ながら最低限これがわかっていればいいと思うってところをまとめてみる。

  • prefixコマンド

これはtmuxコマンドを実行する前に打つコマンド。
これがないと普通にterminalで文字を打つことができなくなってしまうw
デフォルトではCtrl+bが割り当てられていて、Ctrl+bを打った後に特定のコマンドを打つことによってtmuxコマンドを実行することができる。

  • .tmux.confに書くものは?

シェル上で

tmux hogehoge

っていうコマンド叩くときのhogehogeの部分を並べて書けば良い

  • tmux_command A B

AにBを割り当てる
例えばbindというtmuxコマンドを使う場合、.tmux.confに以下のように書くと

bind e setw synchronize-panes on

prefixコマンドを打った後にeを打つことで、「setw synchronize-panes on」というイベントを実行することができる。
ここでは現在のWindowのすべてのペインに対して打つコマンドを同期する、というオプションを設定している。

  • list-keys

これで今bindされているkeyの一覧が確認できる。

tmux list-keys
# bindされているkeyがたくさん出てくるので、grepするなりして扱いたいものを探す
tmux list-keys -t vi-copy
# vi-copyテーブルモードで使えるキー一覧が確認できる。
# key-tableなるものが存在し、vi-editやvi-copyなどカテゴリ分けされている。

これを確認しながら、

bind -t vi-copy v begin-selection

のような任意のバインドを設定していけばよい。

設定ファイルの書き方がいろんなサイトで違う

だいたいはエイリアス。
上ではさらっと使ったけど、bindとかはエイリアス。設定ファイルでよく使うものはだいたい以下。

command alias
bind-key bind
unbind-key unbind
set-option set
set-window-option setw

このくらいがわかってれば、後は先輩たちが披露してらっしゃる設定ファイルが読めると思う\(^o^)/