2008-08-22

GNU Screen の設定 (.screenrc) をさらしてみる

自分の GNU Screen の設定をさらしてみる。といっても、たった三行。

escape ^Tt
markkeys h=^B:l=^F:$=^E:^U=^Z:^D=^V
bind c screen zsh

escape

Escape キーは「Ctrl+T」派。デフォールトの「Ctrl+A」は、行頭へのジャンプに使いたいので。

あと、ぼくの使ってる Dvorak 配列だと「T」キーは右手の中指 (ホーム・ポジション) で打てるので、キー移動が少ないメリットもある。

markkeys

Emacs ライクなキー配置にしている。

  • h=^B: Ctrl+B で一文字戻る
  • l=^F: Ctrl+F で一文字進む
  • $=^E: Ctrl+E で行末へ
  • ^U=^Z: Ctrl+Z で逆スクロール (後ろへ戻る)
  • ^D=^V: Ctrl+V で順スクロール (前へ進む)

ちなみに、逆・順スクロール機能は GNU Screen のコピー・モード (Ctrl+[) の中で使うコマンド。

bind

Ctrl+c で新しい Screen 端末を開き、shell を zsh にする。

ぼくは login shell に bash を使ってて、Screen の中でだけ zsh を使っている。

あとがき

たった 3 行の設定ファイルだけど、ピリリとした小技が入ってると自認している。この設定なしに、ぼくは GNU Screen を使えない。

もし、おススメの Screen 設定があれば、是非教えて下さい。

4 comments:

  1. screen -t '*Scratch*' 9 sh -c 'cat > /dev/null'
    select 0

    みたいなのを入れて、Emacs の *Scrach* バッファ的に使ったりしてます。

    ちなみに Escape は「Control-Q」です。

    ReplyDelete
  2. rok さん、こんにちは。

    すみません、rok さんの設定についていけませんでした orz

    これは、.screenrc の中に書いてある設定なんですしょうか? コマンド・ラインから打つものなんでしょうか?「9 sh」はどういうオプションなんでしょう?

    そして、これが一番よく分かってないですが、メモ書きするための設定なんでしょうか? C-x C-e すると、shell script が実行できる... なんてのじゃないですよね (;_;)

    ごめんなさい。よければ、ブログの記事にでもして解説お願いします m(_ _)m

    ReplyDelete
  3. .screenrc に書きます。

    screen コマンドを実行すると、9番スクリーン(ていうのかな)で "cat > /dev/null" が実行されて、その後でデフォルトのシェルが起動している 0番に移動します。

    残念ながら、9番のスクリーンで S式を評価したりはできませんが(^^;)、よそからコピーしてきたものを一時的に貯めておいたり、どうでもよいようなメモを書いたりする程度に使っています(改行しちゃうと編集はできないけど……)。9番固定なので、すぐ escape+9 で開けて気楽です。

    自分の場合は、Emacs LIsp を書くということがほとんどないので、*Scratch* はS式やリージョンの評価をする場所という感覚がありませんでした……

    ReplyDelete
  4. なるほど。なるほど。仕組みと目的を理解しました。よく思いつくものだと、感服しました。TeraTerm なんかでリモート・アクセスしている時や、screen -x してる時に便利そうですね。

    ReplyDelete