自分の 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 設定があれば、是非教えて下さい。
screen -t '*Scratch*' 9 sh -c 'cat > /dev/null'
ReplyDeleteselect 0
みたいなのを入れて、Emacs の *Scrach* バッファ的に使ったりしてます。
ちなみに Escape は「Control-Q」です。
rok さん、こんにちは。
ReplyDeleteすみません、rok さんの設定についていけませんでした orz
これは、.screenrc の中に書いてある設定なんですしょうか? コマンド・ラインから打つものなんでしょうか?「9 sh」はどういうオプションなんでしょう?
そして、これが一番よく分かってないですが、メモ書きするための設定なんでしょうか? C-x C-e すると、shell script が実行できる... なんてのじゃないですよね (;_;)
ごめんなさい。よければ、ブログの記事にでもして解説お願いします m(_ _)m
.screenrc に書きます。
ReplyDeletescreen コマンドを実行すると、9番スクリーン(ていうのかな)で "cat > /dev/null" が実行されて、その後でデフォルトのシェルが起動している 0番に移動します。
残念ながら、9番のスクリーンで S式を評価したりはできませんが(^^;)、よそからコピーしてきたものを一時的に貯めておいたり、どうでもよいようなメモを書いたりする程度に使っています(改行しちゃうと編集はできないけど……)。9番固定なので、すぐ escape+9 で開けて気楽です。
自分の場合は、Emacs LIsp を書くということがほとんどないので、*Scratch* はS式やリージョンの評価をする場所という感覚がありませんでした……
なるほど。なるほど。仕組みと目的を理解しました。よく思いつくものだと、感服しました。TeraTerm なんかでリモート・アクセスしている時や、screen -x してる時に便利そうですね。
ReplyDelete