2011年3月1日火曜日

GNU Screen の設定

一年ほど前に emobile の Pocket-WiFi を導入して以来、GNU Screen (以下screen) は必須*1です。当初はエスケープキーを変更する程度だったのですが、便利な設定を公開している方のサイトを読んではその機能に驚き、拾わせていただいてます。以下、現在の設定メモです。

.screenrc

デフォルトのエスケープキー "ctrl-a" は bash/emacs とバッティングするので、"ctrl-z" に変更します

escape ^Zz

デフォルトで UTF-8 を使用します

defencoding UTF-8
encoding UTF-8 UTF-8

画面下部にスクリーン名とロードアベレージを表示します

hardstatus alwayslastline "%{= Gk} %-Lw%40L>%{b kg} %n %t %{-}%+Lw%-020=%{b km} %l"

よく使用するエンコーディングを切り替えます

bind "u" encoding UTF-8
bind "e" encoding eucJP
bind "s" encoding SJIS

emacsライクなスクリーンの分割です

bind "2" split
bind "o" focus
bind "1" only
bind "0" remove

スクリーンのリサイズ関係です

bind "=" resize =
bind "_" resize max
bind "r" eval 'echo "Resize window"' 'command -c resize'
bind -c resize ^]  command
bind -c resize j eval 'resize +1' 'command -c resize'
bind -c resize k eval 'resize -1' 'command -c resize'

screen を exit した後、Esc キーを押下するまで screen を終了しません(最後の実行結果の表示が残ります)

zombie ^[

manページについて

screen は非常に多機能である上、man ページが非常に充実していて読み応えがあります。そして、最後の2行がステキです。(括弧内は日本語manページの翻訳)

A weird imagination is most useful to gain full advantage of all the features.
(全機能を最大限に生かすためには、おかしな想像力が非常に有用となる。)

Send bug‐reports, fixes, enhancements, t‐shirts, money, beer & pizza to screen@uni-erlangen.de.
(バグ報告、修正、改良、Tシャツ、お金、ビール、ピザ等 は screen@uni-erlangen.de まで送ってほしい。)


*1 emobileは6時間ごとに接続を切ってipアドレスを振り直します。以前はサイトFAQに「サービス仕様」と明記されていた記憶があるのですが、今は探しても見つかりません。この辺りの仕様をご存知の方、ご教示いただければ幸いです。

0 件のコメント:

コメントを投稿