[screen] gnu screen を始めるにあたって覚えておくべきコマンド集

screenをあまり使いこなせないことを悟ったので、screenに関する資料を漁って自分用のメモ書きをしてみた

以下はメモ

基本コマンド 

  • C-a c
    • 新しいwindowの作成
  • C-a C-a
    • Window間の移動
  • C-a n p
    • Window間の移動(nが前方、 pが後方)
  • C-a N[数値]
    • Window移動コマンド。数値を指定して移動する
  • C-a "
    • windowのリストを表示する.(スクリーンリスト上ではj, kで移動, Enterで選択ができる)
  • C-a w
    • タイトルバーにwindowのリストを表示させる。
  • C-a A
    • ウィンドウに名前をつける
  • C-a K
    • Windowを消去する。

detachingおよびreattachingコマンド

screenは一度それを終了(detach)をしても,再度screenを復活(reattach)させることができます。

やり方は以下のようになります

  • C-a d
    • detachコマンド。screenを終了させる
  • screen -ls
    • 現在存在しているscreenプロセスを表示させる
  • screen -r プロセス名
    • 一度detachしたものの、バックグラウンドで動いているscreenプロセスを指定することで、screenを復元することができる

コピーモード(スクロールモード) 

screenの便利な機能にコピーモードというものがあります。特にバッファの移動やコピー、ペースト関連の機能が充実しています。実行は以下のとおり

  • C-a [
    • コピーモードを始める。また、スペースでコピー領域を選択することができる
  • C-a ]
    • コピーモードを終了させる。ペーストコマンドでもある。

コピーモード中で実行できるコマンド

  • Space
    • コピーコマンド.領域の選択をする(なんでvじゃないのだww)

移動コマンド(vimの移動方法と同じなのでvim使いには馴染み深いものである) 詳しいことはviのリファレンスでも見てください

  • h, j, k, l
    • それぞれ 左、下、右、上
  • C-d, e, f
    • それぞれ 半画面、1スペース、全画面 前方移動
  • C-u, y, b
    • それぞれ 半画面、 1スペース、全画面 後方移動
  • g
    • bufferの先頭に移動
  • G
    • bufferの末尾に移動


splitコマンド

screenでは画面を分割することができます

  • C-a S
    • 画面を分割する
  • C-a Tab
    • 画面間の移動をする
  • C-a X
    • 現在のリージョンを消去する
  • C-a Q
    • 現在いるリージョン以外のリージョンをすべて消去する

screenが固まってしまった場合の対処方法 

screenは非常に強力な機能ですが、実は問題点もあります。それはkillしずらいということです。screenが固まってしまった場合などの対処方法は初めて使ったときにはわからないものです。というのもキルコマンドは特殊なキーバインドで設定されているからです。以下がkillコマンドになります

  • C-a C-\
    • screenのkillコマンド

固まってしまった場合などに重宝しそう

ヘルプ 

ヘルプを知っていればscreenで使えるすべてのコマンドについて知ることができます。

  • C-a ?
    • ヘルプモードを実行する

その他 

  • C-a x
    • display lock コマンド
  • C-a C-l
    • 再描画コマンド
  • C-a :
    • screenコマンドの実行(vimのモードに似ている)


各種情報源 

いまのところ見てみきた参考資料. 基本的に初心者向けのが多いと思う。.screenrcの設定方法とかそういったレベルの話では無い

まぁ基本としてはこれぐらい覚えればよさそうかな. あとは.screenrcの設定の仕方とか調べればよさそう