ものすごく昔にどこかで名前を目にしたものの使ってこなかった「ターミナルマルチプレクサ」。

今更ながら興味が出てきた(仕事が捗るのではと思った)ので入れてみます。

前提

  • macOS Catalina 10.15.3
  • Homebrew 2.2.6

インストール

$ brew install tmux

念の為メモ

tmuxのインストール時、ncursesのバージョン違いについての情報が出てきました。

ncurses is keg-only, which means it was not symlinked into /usr/local,
because macOS already provides this software and installing another version in
parallel can cause all kinds of trouble.

If you need to have ncurses first in your PATH run:
  echo 'export PATH="/usr/local/opt/ncurses/bin:$PATH"' >> ~/.zshrc

For compilers to find ncurses you may need to set:
  export LDFLAGS="-L/usr/local/opt/ncurses/lib"
  export CPPFLAGS="-I/usr/local/opt/ncurses/include"

For pkg-config to find ncurses you may need to set:
  export PKG_CONFIG_PATH="/usr/local/opt/ncurses/lib/pkgconfig"

==> tmux
Example configuration has been installed to:
  /usr/local/opt/tmux/share/tmux

Bash completion has been installed to:
  /usr/local/etc/bash_completion.d

ncurses は、端末に依存しない形式でテキストユーザインタフェース を作成するためのAPIを提供するライブラリ。画面切り替えを最適化し、リモートシェルで使ってもレイテンシを最小に抑えるようになっている。 - via wikipedia

だそうなのですが、普段使う機会が無いので、ここは特にPATHへの追加等せず行きたいと思います。

私と同じようにスルーした人のために、↑残しておきます。

.tumx.confの設定

こちらは、下記の参考サイトに色々と書いてあるので、ほしい部分だけピックアップして設定。

使いながら追加・変更・削除していくものですね。

# tmuxを256色表示できるようにする
set-option -g default-terminal screen-256color
set -g terminal-overrides 'xterm:colors=256'

# ステータスバーをトップに配置する
set-option -g status-position top

# #P => ペイン番号
# 最左に表示
set-option -g status-left '#H:[#P]'

# Wi-Fi、バッテリー残量、現在時刻
# 最右に表示
set-option -g status-right '#(wifi) #(battery --tmux) [%Y-%m-%d(%a) %H:%M]'

# ステータスバーの色を設定する
set-option -g status-bg "colour238"

# status line の文字色を指定する。
set-option -g status-fg "colour255"

設定が反映されない場合は、

$ tmux source ~/.tmux.conf

コマンドで反映されます。bashrcなどと同じ感じですね。

その他、使ってる皆さんはそれぞれデフォルトでCtrl-bになっているショートカットを、好きなキーに変更して使っているようでした。

個人的には昔使っていたEmacsっぽいショートカットで使えると嬉しい。

コマンドを覚える

ターミナルで$tmuxしてからは、そもそもやりたかった画面分割&移動などをコマンドとして打っていきます。

参考:tmuxを必要最低限で入門して使う - Qiita

こちらを見つつ、ウィンドウの作成や移動など2,3覚えるところから始めればすぐ使えそうです。

あれ・・・?

tmux別にいらなくて、

  • emacsのterminal
  • iTerm2

あたりでもよいのでは・・・?という気がしてきました。

参考