はじめに
最近tmuxを常用してたのを辞めてscreenに戻ってきたので、その際にしたオススメな設定などを書き残しときます。
.screenrc設定
文字コード
事故る前にとりあえず設定
defutf8 on
defencoding utf8
encoding utf8 utf8
おせっかい系OFF
screen起動時のメッセージとエラー時に画面がフラッシュするVisualBellをoffに
startup_message off
vbell off
エスケープキー変更
スクリーンを操作する際にはCtrl-aから始める事が多いけど、Ctrl-tに変えるというもの。
Ctrl-aはbash、zshなどを処理する上で『行頭に戻る』という基本的とも言えるキーバインドが設定されているので、これを避けて別のエスケープキーを設定します。
(何故tなのかについてはそういった設定している記事が多く、代替設定としては広く定着していると思うので)
escape ^Tt
tが嫌ならば、個人的には次点でbでしょうか...(tmuxに合わせて)
スクロール改善
## スクロール行数
defscrollback 10000
## マウススクロール有効
termcapinfo xterm* ti@:te@
あと、macのterminal使ってるなら
『代替スクリーンをスクロール』をチェック外すとトラックパッドのスクロールがそのまま反映されるようになります。
とは言え、スクロールでも表示がおかしいときもあるので、コピーモードは必ず利用できるように慣れておいたほうが良いです。
# デフォルトなら
Ctrl-a [
# エスケープキーをtにした場合
Ctrl-t [
.screenならコピーモードが最初からvimの操作体型に近いので、扱いやすいですよね?(by Vim使いの人)
vimとかlessとかtigとかのバッファを終了時にちゃんと消す
screenを使わないときは消えてくれてたのに、screenを使った途端、vimなどを閉じても画面に残り続けて消えないのはこれが原因
altscreen on
見た目など改善
screenする前はオレンジだったのにscreenを通すと赤になるとかなら、screenが256色対応じゃないかも。
defbce on
term xterm-256color
但し、macに最初から入っているscreenは256色対応してないので入れ直す必要があるかも。
FYI: https://qiita.com/trapple/items/8ad1b0a7c4fa5b8341b0
ステータスライン
タブっぽく見せる設定のアレ。
使える色が少ない中、自分が落ち着いた設定はコレ。
左にタブ、右にロードアベレージ(とは言え使ってみたところ、気休め程度のものレベルかなという感じ…)
hardstatus alwayslastline "%{= cd} %-w%{= wk} %n %t* %{-}%+w %= LoadAVG [%l] "
# LoadAverage要らない人はこっち
hardstatus alwayslastline "%{= cd} %-w%{= wk} %n %t* %{-}%+w"
※ 但し、シアンの色が使っているterminalだったり、iTermだったり、PuTTYだったりの設定で見え方が変わります。
ちなみに、ステータスライン上のタブの名前はエスケープキー(Ctrl-tとか)押してShift-Aで名前入力になるので、それでタブ名を固定できます。
# デフォルトでは
Ctrl-a A (a じゃなくて Shift-a ですよ)
# エスケープキーをtにした場合
Ctrl-t A
[2017/11/05追記]
選択中のタブの白っぽい背景が気に入らなくなってきたので、その後ターミナルのデフォルトの文字色と背景色が反映されるように変えました。
hardstatus alwayslastline "%{= cd} %-w%{= dd} %n %t* %{-}%+w %= LoadAVG [%l] "
デフォルトシェル
マシンに設定されているデフォルトシェルでscreenが始められるように設定。
念のため設定。
shell $SHELL
最後に
とりあえずここまでの設定を反映した.screenrcをここに置いときます。
defutf8 on
defencoding utf8
encoding utf8 utf8
startup_message off
vbell off
# 色
# オレンジが赤になるとかならscreenが256色対応じゃないかも
# FYI: https://qiita.com/trapple/items/8ad1b0a7c4fa5b8341b0
# $ brew tap homebrew/dupes
# $ brew install screen
defbce on
term xterm-256color
# ステータスライン
hardstatus alwayslastline "%{= cd} %-w%{= wk} %n %t* %{-}%+w %= LoadAVG [%l] "
# エスケープキー
escape ^Tt
# マウススクロール
termcapinfo xterm* ti@:te@
# スクロール行数
defscrollback 10000
# vimとかlessとかtigとかのバッファを終了時に消す
altscreen on
# デフォルトシェル
shell $SHELL
とまぁ、ここまででもたぶん基本のレベルの域を脱していないので、後は各自で設定を加えて各々の.screenrcを育てて行くことをおすすめします。