gotty + tmux = 最強のWeb開発環境

gottyはターミナルで実行したコマンドの出力をWebブラウザで参照できるようにするツールで、オプションを付けるとブラウザからのキー入力も可能になります。つまりgottyでtmuxを起動することで、Webブラウザから複数セッションや画面分割可能なターミナルを利用でき、さらにvimEmacsなども利用することが可能になります。

f:id:takezoe:20150905101216p:plain

特にWebアプリケーションを開発している場合、ターミナルでvimEmacsでコーディングしていると、動作を確認するたびにブラウザに切り替える必要があり、非常に面倒です。gotty + tmuxを使えばブラウザの1つのタブでターミナルを使うことができるので、ブラウザのタブを切り替えるだけでアプリケーションの動作を確認したり、調べ物をしたりすることができるのです。これを最強のWeb開発環境と呼ばずしてなんと呼ぶのでしょうか。Atomなんかいらなかったんや!!

gottyはMacであればHomebrewで簡単にインストールすることができます。

$ brew tap yudai/gotty
$ brew install gotty

あとはtmuxがインストールされていれば以下のようにして起動し、

$ gotty -a 127.0.0.1 -p 9999 -w tmux

ブラウザでhttp://localhost:9999/にアクセスするとtmuxを使用することができます。

このように最強のWeb開発環境であるgotty + tmuxのコンビネーションですが、以下のような欠点もあります。

  • 日本語入力が不可能
  • 一部のキーバインドが使えない
  • 色がときどきおかしくなる

僕の場合、仕事は基盤系ですし、趣味のOSS活動は基本英語なのでコードを書いていて日本語を入力する機会はほぼありません。また、キーバインドはどうしても困るものはアプリケーション側で変更すれば対処できます。ちょっと困るのは色がおかしくなる問題で、たとえばEmacsでace-jump(指定した文字が登場する位置に一発でジャンプできるEmacs拡張)を使うとこんな感じに…。

f:id:takezoe:20150905101553p:plain

文字が…見えない…orz

Emacsのカラーテーマにもよるとは思うのですが、背景を黒以外にするとところどころに横線が入ってしまったりするのが残念なところです。