* tmuxの自動起動設定

今日はtmuxのお話。

私が普段使っているコンソールはターミナルではなく、

iTerm2なるものを使っています。

iTerm2

ターミナルと何が違うのかと言われると、まぁいろいろ違うのですがわかりやすい機能で私が一番好きな機能がこれです。

そう、シェルの切り分けができるのです。

しかもショートカットキーが簡単で

[command + d] -> 横に分割

[command + d + shift] -> 縦に分割

これがとってもとっても快適。

と、前置きはここまでで

ローカルではこのiTerm2を使えばいいのですが

リモートの作業ではそういう訳には行きません。

そこで活躍するのがtmux

インストールしてしまえばコマンドを打つことで複数画面作ることができます。

このtmuxをログインした時に常に起動したいというのが今日の本題。

ってことで.zshrcに以下を書き加え

              # tmux (auto start)
              is_screen_running() {
                [ ! -z "$WINDOW" ]
              }
              is_tmux_runnning() {
                [ ! -z "$TMUX" ]
              }
              is_screen_or_tmux_running() {
                is_screen_running || is_tmux_runnning
              }
              shell_has_started_interactively() {
                [ ! -z "$PS1" ]
              }
              resolve_alias() {
                cmd="$1"
                while \
                  whence "$cmd" >/dev/null 2>/dev/null \
                  && [ "$(whence "$cmd")" != "$cmd" ]
                do
                  cmd=$(whence "$cmd")
                done
                echo "$cmd"
              }
              
              if ! is_screen_or_tmux_running && shell_has_started_interactively; then
                for cmd in tmux ; do
                  if whence $cmd >/dev/null 2>/dev/null; then
                    $(resolve_alias "$cmd")
                    break
                  fi
                done
              fi
              

コードはこちらを参考にしました。

</ br> これでsource ~/.zshrcして快適。


※この記事は WordPress に投稿した記事を変換したものです。一部不自然な表示があるかも知れません。ご了承ください。また、記事タイトル先頭の * は WordPress から移行した記事である印です。

comments powered by Disqus