Edited at

.screenrcにこれだけは設定しとけっていうオススメ設定

More than 1 year has passed since last update.


はじめに

最近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使ってるなら

スクリーンショット 2017-10-27 23.11.23.png

『代替スクリーンをスクロール』をチェック外すとトラックパッドのスクロールがそのまま反映されるようになります。

とは言え、スクロールでも表示がおかしいときもあるので、コピーモードは必ず利用できるように慣れておいたほうが良いです。

# デフォルトなら

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"

スクリーンショット 2017-10-27 23.40.06.png

※ 但し、シアンの色が使っている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] "

スクリーンショット 2017-11-05 21.22.09.png


デフォルトシェル

マシンに設定されているデフォルトシェルで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を育てて行くことをおすすめします。