Posted at

tmux起動時に分割する

More than 5 years have passed since last update.

普段使う分割はだいたい決まっているので、起動したときについでに分割して欲しいなーという話。

tmuxはセミコロンでマルチコマンドが使えるらしく、単純にこんな感じでいいらしい。

tmux new-session \; splitw

このまま\; splitw -h \; splitw -vと続けていってもいいのだが、長くなりそうなので


~/.tmux/session

selectp -t 0

splitw -h
selectp -t 0
splitw -v
selectp -t 0

といった感じで自分好みのものを作り、

tmux new-session \; source-file ~/.tmux/session

で実行すると楽。

変えたいときは~/.tmux/sessionを編集すればいい。

もちろんこれを.zshrcなんかにaliasとして書いておくと便利かと。

attachも考慮した上で自分は最終的に.zshrcにこんな風に書いてます。

if [ $SHLVL = 1 ]; then

alias tmux="tmux attach || tmux new-session \; source-file ~/.tmux/session"
fi

tmuxを実行するとattachしてくれる、無ければ起動して分割してくれる、という感じです。

$SHLVLで判定しているのはtmux起動中は普通にtmuxコマンドを使えるようにするためです。

といった具合でどうでしょう。

参考になれば幸いです。