おもしろwebサービス開発日記

Ruby や Rails を中心に、web技術について書いています

tscreenを入れてみた

GNU Screenは古いの? - (rubikitch loves (Emacs Ruby CUI))

などを見て、tscreenを入れたくなってきたのでインストールしてみました。

インストール

Steve.org.uk: Terminal Screen tscreen
からソースをダウンロード。

その後、コピーモードでコピーしたテキストをmacクリップボードで使えるように、下記の記事を参考にパッチを当てます。

tscreen に移行した - Slow Dance

そしたら後は

./configure
make
sudo make install

でオーケー。

設定

.screenrcをコピー

cp -p .screenrc .tscreenrc

.zshrcに下記を追加して、screenを実行したときにtscreenが実行されるように。

if [ -x /usr/bin/tscreen -o ]; then
   alias screen='tscreen'
fi

ついでにscreenの設定見直し

ついでなので.tscreenrcの設定を見直してみることに。

ステータス行に最後に実行したコマンドを表示

titles GNU screen
を参考に。zshだと.zshrcに下記のような感じで書くとよいです。

preexec () {
  echo -ne "\ek${1%% *}\e\\"
}
その他

iandeth. - 続 screen の使い方
screenを縦に横に分割しまくろう - テックノート@ama-ch

などを参考に

  • hardstatusを修正して実行中のステータスの色をつけた
  • emacsキーバインドっぽい感じでウィンドウ分割

を修正/追加しました。修正後の.tscreenrcをさらしておきます。

escape ^T^t
hardstatus alwayslastline "%`%-w%{=b bw}%n %t%{-}%+w"
defscrollback 10000
startup_message off
bind -c REGION o focus down
bind -c REGION p focus up
bind -c REGION 0 remove
bind -c REGION 1 only
bind -c REGION 2 split
bind -c REGION 3 split -v
bind -c REGION \^ resize +2
bind -c REGION } resize +2
bind -c REGION { resize -2
bind ^x command -c REGION

ウィンドウ分割時の問題

上記の設定でウィンドウの分割が超簡単にできるようになったのですが、分割したウィンドウが反応しない問題に遭遇しました。(画像の右側のウィンドウに移動してもうんともすんとも言わない)


誰か対処法知ってたら教えてくださいー
(追記)なんかのバグかと思ってたのですが、コメント欄で指摘されたようにC-t 0などとしたらちゃんと使えました。id:LukeSilvia++

snow leopardだとパッチ当てない方がいいかも

snow leopardで上記の方法を試したらmakeでこけました。

パッチ当てずに./configure make make installしたら通ったのでmakeでこけた方はパッチ当てずに試してみてください。