出典:byobu.co
純正のターミナル.appのウインドウを並べて使うのが辛くなり、ターミナルを縦分割したくてターミナルマルチプレクサ「byobu」を導入してみました。ところで縦分割って言葉わかりにくくないですかね? 割るのは縦だけど並ぶのは横にって… え?私だけ?
byobuのインストール
Homebrewでインストール。
$ brew install byobu
早速使ってみたのですが、以下のエラーが出てしまいました。
ERROR: Could not import the python snack module
.bashrcに以下のようなやつを雰囲気で書き込んだら直りました。
export PYTHONPATH=/usr/local/lib/python2.7/site-packages/
参考
本記事のタイトルは上の記事に倣ったものです。
byobuのセットアップ
とりあえず起動するだけでなんとかなっているのがtmuxとの違いであり、byobuのいいところみたいです。
おもむろにcontrol + A(以下、C-a)を押下。すると、C-aの動作を選択する画面が表示されます。(1) Screen mode(プレフィックスキーとして使う)と(2) Emacs mode(行頭へ移動に使う)から選択でき、私は2を入力しました。この機能はbyobu-ctrl-a
コマンドでいつでも呼び出せます。
プレフィックスキーはbyobu-config
またはF9キーで変更できます。私はChange escape sequence > 「T」を入力 > <Apply>のようにしてC-tに変更しました。
すると、~/.byobu/keybindings.tmuxに以下の内容が書き込まれています。
unbind-key -n C-a unbind-key -n C-t set -g prefix ^T set -g prefix2 F12 bind t send-prefix
1、2行目は、unbind-key
でC-aとC-tに結び付けられている既存のキーバインドを解除しています。unbind
と省略しても可能です。-n
オプションはプレフィックスなしの入力を意味しています。3行目は、set(-option)
でグローバルに(-g
)プレフィックスを設定しています。4行目はサブのプレフィックスを追加しています。5行目は、bind(-key)
でC-t tと入力するとC-t自体の入力がアプリケーションに送られるようにしているみたいです。
このようにbyobu-hoge
コマンドで設定を気軽に行えるのもbyobuの利点なのだと思います。ちなみに、Macでfnキーが効かないという方は全くの勘ですがシステムのキーボードショートカットとバッティングしているんじゃないでしょうか。
参考
なぜ? デフォルトのキーバインド
念願のウインドウの縦分割をし、ペインを閉じる。が、できない。なぜかと思いC-t ?でキーバインドの一覧を表示して確かめると、tmuxではkill-paneのはずのC-t xがkill-serverに割り当てられていた…! しかも、kill-paneがどこにも無い。
crullerは激怒した。必ず、かのキーバインドを除かなければならぬと決意した。
他にも、vimでpage up / page downが効かないというのも嫌でした(コピーモードに入ればできます)。
でも、ちょっと待ってください。設定ファイルを書き換えるためにいろいろ調べました。上で書いたのはその副産物です。だったらtmuxでいいんじゃないかと…? いやいや、いくつかの気に入らないことのために一からconfigするというのは極論では?
などとあれこれ考えを巡らせた結果、cruller、思いました。私はただウインドウを縦分割したいだけだったと。あわよくば前回のセッションが復元できればいいなと。iTerm2でいいじゃん。
iTerm2のインストール
はい。
解凍して「アプリケーション」フォルダにドラッグ&ドロップするだけです。
command + Dで縦分割できます。command + [、command + ]で前後のペインに移動できます。command + Wで閉じれます。
システム環境設定 > 一般にある「アプリケーションを終了するときにウインドウを閉じる」を選択していなければ再起動時にセッションを復元できます。余談ですが、私は終了時にはリセット欲があってこのオプションは選択していなかったのですが、このために設定を変更しました。
カラースキームは適当に検索して出てきたIcebergを設定してみました。
デジタル派の私にはウインドウの透明度の設定がスライダーしかないのは気に入りませんでしたが、plistを直接編集することで満足しました。
あとがき
byobuユーザーのみなさんにはすみませんが、私には分不相応かなと。最適な環境は個人の目的や適性によって変わってくるのだと思います。複数のOSを使っている方には必要じゃないでしょうか。