備忘録 screenの設定 (気分更新)
screenを導入したので設定等の晒し上げ
■.screenrc
defencoding UTF-8
escape ^z^z
defscrollback 1024
hardstatus alwayslastline
hardstatus string "%{.bW}%-w%{.rW}%n %t%{-}%+w %=%{..G} %H %{..Y} %m/%d %C%a "
shell /bin/zsh
markkeys h=^b:l=^f:$=^e:^d=^v
vbell off
startup_message off
autodetach on
bind -c REGION 2 split
bind -c REGION 1 only
bind -c REGION 0 remove
bind -c REGION o focus
bind x command -c REGION
- エスケープキャラクタはC-z
- shellはzshを仕様
- コピーモードのキーバインドをemacsに(C-f, C-b, C-e, C-v)
- ウィンドウ関連のキーバインドをemacs「風」に(C-z x 0, C-z x 1, C-z x 2, C-z x o)
- startup messageをoff
- etc
■.zshrcに追加
# screenでsshしたときに新しい仮想画面+画面名をログイン先のホスト名に function ssh_screen(){ eval server=\${$#} screen -t $server ssh "$@" } if [ x$TERM = xscreen ]; then alias ssh=ssh_screen fi # zsh起動時にscreenの自動起動 case "${TERM}" in kterm*|xterm*) screen esac
■基本操作(key-bind変更済)
ウィンドウ関連
- C-z 1..9 n番目のウィンドウに切り替え
- C-z c 新しいウィンドウを作成
- C-z A ウィンドウの名前を変更
- C-z n ウィンドウの切替(昇順)
- C-z p ウィンドウの切替(降順)
- C-z w ウィンドウ一覧の表示(常に表示させてるからイラネ)
画面分割関連
- C-z x 2 画面を分割する(横)
- C-z x 1 画面を一つにする
- C-z x 0 画面を閉じる
- C-z x o 画面を切りかえる
コピーモード関連
- C-z [ コピーモードの開始
- C-z ] コピーモードの終了、コピーモードで選択したバッファの貼り付け
- C-f コピーモード中にカーソルを一つ進める
- C-b コピーモード中にカーソルを一つ戻す
- C-n コピーモード中にカーソルを一行下に
- C-p コピーモード中にカーソルを一行上に
- C-a コピーモード中にカーソルを行の先頭に
- C-e コピーモード中にカーソルを行の最後に
- SPC コピーモード中に領域の選択
■TODO
- コピーしたバッファをクリップボードに入れる
- 画面の縦分割 -> バッチ等を当てれば可能みたい
■参考URL
Let's use SCREEN!
http://www.dekaino.net/screen/
GNU screen いろいろまとめ。 - naoyaのはてなダイアリー
http://d.hatena.ne.jp/naoya/20051223/1135351050
つなが〜る - .screenrcを晒してみる
http://mobcov.nowa.jp/entry/d7673576c3