GNU screen を使い始めて数ヶ月が経ち、ようやく慣れてきました。それで、screenrc による設定方法などを調べているのですが、「こういうときはこうする」とか「こうするとこうなる」というオススメの設定があったら是非教えてください。


今の screenrc はこういう感じです。

escape ^Tt
termcap kterm hs@
terminfo kterm hs@
vbell off
bind w windowlist -b
hardstatus alwayslastline I%wI
defhstatus I^En:^EtI
shell -$SHELL
startup_message off
autodetach on

いくつかよくわかってないののも混ざってますがw よろしくお願いします。

回答の条件
  • URL必須
  • 1人2回まで
  • 登録:
  • 終了:--
※ 有料アンケート・ポイント付き質問機能は2023年2月28日に終了しました。

ベストアンサー

id:stealthinu No.2

回答回数55ベストアンサー獲得回数1

ポイント50pt

おおっnaoyaさんの質問だ!

自分はこちらのサイトからcaptionの指定をパクらせていただきました。

caption always ”%{= wk} %-w%{=bu dr}%n %t%{-}%+w %= %{=b wb}%y/%m/%d(%D) %{=b wb}%c”

下に、コンソールがタブのように表示されて、よい感じです。

また、Emacsっぽいバインドにするため

bind 2 split

bind o focus

bind 1 only

bind 0 remove

と設定してみています。

上下で比較しながらコマンド打てたりして、ちょっとよい感じです。

id:naoya

ありがとうございます。

caption のカスタマイズですか、なんかもう謎の暗号ですねw

Emacs バインド良すぎます!! スバラシス

2005/12/16 14:12:56

その他の回答8件)

id:secondlife No.1

回答回数6ベストアンサー獲得回数1

ポイント50pt

screenrcじゃないですけど、zshのprexec()と組み合わせて上記URLの設定をすると、ステータスラインに各screenで打ったコマンドが表示されてめちゃ便利です。


http://www.flickr.com/photos/gorou/74010837/

こんな感じ。

全体的なtipsでは我らがスパハカーtyposterさんのscreen tagも要チェックですよ!

id:naoya

うごご、ギザ!! 早速導入します。ありがとー!

2005/12/16 13:21:36
id:stealthinu No.2

回答回数55ベストアンサー獲得回数1ここでベストアンサー

ポイント50pt

おおっnaoyaさんの質問だ!

自分はこちらのサイトからcaptionの指定をパクらせていただきました。

caption always ”%{= wk} %-w%{=bu dr}%n %t%{-}%+w %= %{=b wb}%y/%m/%d(%D) %{=b wb}%c”

下に、コンソールがタブのように表示されて、よい感じです。

また、Emacsっぽいバインドにするため

bind 2 split

bind o focus

bind 1 only

bind 0 remove

と設定してみています。

上下で比較しながらコマンド打てたりして、ちょっとよい感じです。

id:naoya

ありがとうございます。

caption のカスタマイズですか、なんかもう謎の暗号ですねw

Emacs バインド良すぎます!! スバラシス

2005/12/16 14:12:56
id:babie No.3

回答回数4ベストアンサー獲得回数0

ポイント50pt

http://d.hatena.ne.jp/babie/20051111/p1

ξ*゜ー゜)ξ { 遅レス。 - logfile

id:teny さんにウィンドウ毎にログを取る方法を教えてもらいました。


>||

logfile ”/home/babie/log/screen-%Y%m%d-%n.log”

log on

deflog on

||<

¥n の部分が ウィンドウ番号になります。エスケープシーケンスまで記録されるので読む時注意ですが。


screen ではウィンドウ毎に設定するには def* を使わないといけないようです。

id:naoya

logging 機能ですか。覚えておくと便利そう。 =)

2005/12/16 17:28:26
id:typester No.4

回答回数3ベストアンサー獲得回数1

ポイント50pt

URLはダミーです。


ウィンドウごとに文字エンコードを変えられるのがさり気に便利です。


デフォルトキーバインドなら

C-a :encoding (utf8|euc|sjis)

のような感じで、変更します。


ターミナルはeucだけどutf-8なDBの中身みたいときとか、Catalystテストサーバーうごかすときとか便利です。


カレントウィンドウの文字コード確認するには

C-a i

で。


頻繁に使うのであれば


bind ^U encoding utf8

bind ^E encoding euc


とかしておくのもいいかもしれないす。

id:naoya

グレイト。Poderosa で文字コードがタブごとに切り替えられるのを screen ではどうしたもんかなーと思ってたんですが、これでばっちりだ。

2005/12/16 20:11:11
id:teny No.5

回答回数4ベストアンサー獲得回数0

ポイント50pt

URL には取り敢えず JM の man page を。


上の回答にある caption の設定、良いですね。頂きました。;-)

私は hardstatus を使ってタイトルバーに window title を表示してます。


hardstatus string ”[screen %n: %t] %h”


これだと window manager からも見えるので。

これと caption を併用すれば、かなり使い勝手が良くなるのではないでしょうか。

質問にある設定では defstatus で指定されてますが、私の環境だと意図した通りに表示されない window がある (shell の window とか) ので hardstatus にしています。


また、私は大きく Emacs に依存しているため、Screen を使うのは Emacs の shell mode では使い辛いツールを使うときばかりなのですが、


# class `app’ に属する keybind の設定

bind -c app t screen top

bind -c app a screen aptitude

bind -c app c screen -t CPAN perl -MCPAN -e shell

bind -c app w screen w3m ~/bookmark.html

# class `app’ の定義

bind ^t command -c app


等として、その様なツールの window をダイレクトに開く様にしています。

質問にある設定に追加したとすると、


C-t C-t c


とすれば、新しい window で CPAN モジュールの shell mode が開きます。


初めて人力検索の回答を試みましたが、何より衝撃的だったのは、emacs-w3m で回答できなかったこと。もうテキストブラウザなんか使うなってことでしょうか……

直接 url を打ちましたが、不正アクセス禁止とか言わないで下さいね。

id:naoya

ありがとうございます。screen を使ってランチャみたいな機能が実現できるんですねえ、これはいい。

w3m で回答できんのはすいません、すいません。がんばります。

2005/12/19 12:24:58
id:jestersera No.6

回答回数16ベストアンサー獲得回数1

ポイント50pt

サーバーの応答がありません。と出てしまう為URLはダミーです。


突っ込みたかったURLは

http://rubyists.com/articles/2005/11/04/vim-screen-rails-ide

です。


RailsEditorを参考にプロジェクト用(or 作業単位毎)のscreenrcを用意すると便利です。

ログ用のディレクトリ等もシンボリックリンクで1つのディレクトリにまとめて、chdirし、cdで作業環境のルートに移動できるようにしてます。

id:naoya

プロジェクト用に screenrc ですか。プロジェクト横断して色々開発する場合とかに便利かもしれませんねえ。

ところで、なんか rubyists.com の先が見えない!もう少し待ってから見てみます。

2005/12/20 17:16:11
id:shigeno No.7

回答回数2ベストアンサー獲得回数0

ポイント50pt

URL はダミーです。


以下のキーバインドで ssh 先のホスト名を入力して窓を開くのをよく使います。

(ダブルクオートは回答時に全角に変換されてしまうようなので、半角にする必要があります)


bind R colon ”screen ssh ^b^b”


その後に以下のキーバインドを使うと前回の入力結果が出てくるので、ちょっと書き換えて実行したりとか。


bind P colon ”^p”


あとは、以下の設定でしばらく操作してないときに screen blanker を立ち上げる機能が気に入っています。


idle 3600


screen blanker は blankerprg で好みのプログラムを設定可能です。例えば fortune とか。

id:naoya

ありがとうございます。

ssh は僕もちょっと工夫してます。 ;) あとで日記に書こう。

screen blanker いいですねえ。Hacker っぽい!

2005/12/20 18:20:19
id:rehash No.8

回答回数2ベストアンサー獲得回数0

ポイント50pt

defscrollback <行数>

ex. defscrollback 3000


copy/scrollback mode(C-t esc)にした時に戻れるhistory bufferを増やします。

id:naoya

おお! そうそう、このバッファ量を増やす方法が知りたかったんですよー。ありがとうございます。

2005/12/20 23:42:15
id:teny No.9

回答回数4ベストアンサー獲得回数0

ポイント50pt

http://d.hatena.ne.jp/teny/20051220

Teny’s log - Screen は本当に便利だよね。

もう一つ、設定という訳ではないですが Tips を紹介してみます。

URL のエントリを見て頂ければ判りますが、一応動作することは確認してあるものの、これまでに使って来た実績がある訳ではないことを、予めご承知おき下さい。

id:naoya

screen で cgi のデバッグですか。なかなかマニアックでよろしいw

2005/12/21 10:38:45
  • id:stealthinu
    Emacsバインドについて

    http://unknownplace.org/memo/2005/12/16#e004
    で、0,1,2のウインドウ選択どうしてるんだろう、という話が出てますが、僕はn,pでウインドウ移動で使ってるもんで、問題ないんですよね…

この質問への反応(ブックマークコメント)

トラックバック

「あの人に答えてほしい」「この質問はあの人が答えられそう」というときに、回答リクエストを送ってみてましょう。

これ以上回答リクエストを送信することはできません。制限について

回答リクエストを送信したユーザーはいません