tmuxはそのままでも便利ですが、少しカスタマイズしてあげることで格段に使い勝手が良くなります。
私がtmuxでおすすめしたいカスタマイズは、セッション名の自動化です。
セッション名を自動で付けてあげることによって、セッション一覧での視認性が良くなり、セッションを用いた複数ワークスペースの作業効率が格段にアップします。
このエントリでは、tmuxセッション名を自動でカレントディレクトリ名にして attach or new する自作スクリプトを紹介します。
今回作成したのはtmux-attach-or-new-session.shという、名前の通りtmuxセッションがあればattach、なければnewするだけのシンプルなスクリプトです。
下記はデモですが、わかりづらいので何をしているか説明します。
- HOMEディレクトリでセッション開始 (
t) - すでに同名のセッションがあったため自動でattach
-
Ctrl+dでdetach -
dotfilesディレクトリに移動してセッション開始 (t) - すでに同名のセッションがあったため自動でattach
セッション名は.を_に置き換えたカレントディレクトリ名になっています。*1
使い方は簡単で、tmux-attach-or-new-session.shを~/.zsh/以下に配置して~/.zshrcに下記を追加するだけです。エイリアスはお好みで変更してください。
- dotfiles/tmux-attach-or-new-session.sh at master · otoyo/dotfiles · GitHub
- dotfiles/.zshrc at cd8944bae19bdf0cf81077fb0f7e193a6a14f28f · otoyo/dotfiles · GitHub
追記したらsource ~/.zshrcもお忘れなく。
[ -f ~/.zsh/tmux-attach-or-new-session.sh ] && \
source ~/.zsh/tmux-attach-or-new-session.sh && \
alias t='tmux-attach-or-new-session' また、.tmux.confでセッションとウィンドウを一覧できるchoose-treeをいずれかのキーにバインドしておくと捗ります(デモで使っているのもこれです)。
例えば<prefix>+sにバインドするには下記を.tmux.confに追加します。
bind s choose-tree あとはお好きなディレクトリに移動してエイリアスしたコマンド(サンプルではt)を打つだけで、自動でディレクトリ名のセッションを開始します。
以上です。このエントリでは、tmuxセッション名を自動でカレントディレクトリ名にして attach or new する自作スクリプトを紹介しました。
それでは快適なtmux生活を!
- 1:tmuxセッション名には .(ドット) が使えないため
コメントを送る
コメントはブログオーナーのみ閲覧できます