1: defencoding eucJP
2: escape ^z^z
1行目は使用する漢字コードの指定です。上の例ではeucを指定しています。jisやsjisを指定することもできます。自分の環境に合わせて設定してください。
screen-3.9.11では、以前のバージョンのdefkanji、kanjiに代わって defencoding encodingコマンドを用います。詳しくは man pageを参照してください。
2行目はエスケープキャラクタのの指定です。エスケープキャラクタとはscreenにコマンドを与えるためのキー入力コードのことです。
screenのデフォルトのエスケープキャラクタは^A(CTRLを押しながらA)です。
また^Aを入力するためには ^A a というキーシーケンスを入力するようにデフォルトで設定されています。
上の例ではエスケープキャラクタを^Zに変更しています。
また、^Zを入力するためのシーケンスを^Z ^Zとしています。
最近の行編集機能つきシェルや高機能エディタを使用するときに^Aが
エスケープキャラクタとなっていると、キー入力が大変煩雑になり不便です。
よって私はエスケープキャラクタを^Zにすることを
強くおすすめします。
以降に挙げる使用例は、エスケープキャラクタが^Zであることを前提にしています。
すると、screenの版権表示画面が出力されます。
この後、スペースかリターンキーを押すと、デフォルトシェルが起動した画面になります。通常と操作方法は変わりません。ただ^Zをキー入力するためには、 2回 ^Zをキーインする必要があります。
screenの基本機能の一つは、複数の仮想端末を管理できるというものです。これを用いれば同時に複数のシェルを使用することができます。使用例を見てみましょう。
screenが動作している環境で、viを起動して.screenrcを編集している途中で、シェル操作がしたくなったとします。 もちろんサスペンド機能を用いてシェルに戻る方法もありますが、 ここでscreenの機能を使って、もうひとつの仮想端末を生成してみましょう。
新しい仮想画面の生成
^Z ^Cまたは^Z cとキーインします。
すると、一見するとscreenを起動した直後と同じ画面になります。
新しい画面でシェル操作はできますが、vi画面はいったいどこに行ってしまったのでしょうか?
大丈夫、いつでもvi画面に帰ることができます。
仮想画面の切替(昇順)
^Z nまたは^Z [SPACE]または^Z ^@とキーインします。
(^@はほとんどの端末でCTRL+SPACEキーでも入力できます)
するとvi画面に戻るのが確認できるでしょう。
もう一回^Z [SPACE]すれば、先ほど新しく生成したシェル画面になります。
でも、仮想画面の数が増えてくると何がどこにあるかわからなくなってしまいがちです。 だけど心配ご無用。screenには、管理している画面のリストを表示するコマンドがあります。
仮想画面リストの表示
^Z ^Wまたは^Z wとキーインします。
すると、最下行にscreenが管理している仮想画面のリストが表示されます。
xtermやktermを使っている場合は、一時的に一行分ウィンドウが下に拡張されて
そこに表示されます。
数字が各画面に割り当てられた画面番号。数字の右に*がある画面が現在アクティブな画面です。
その次にある文字列(上の例では tcsh)は画面のタイトルです。
画面のタイトルは通常シェル名となっています。
画面のタイトル名は任意に変更できます。
仮想画面のタイトル変更
^Z Aとキーインし、最下行でタイトル名を入力
上はviを起動していた画面に viというタイトル名をつけている例です。
タイトル変更後に、再び^Z ^Wとキーインして、
仮想画面のリストを表示させると
ちゃんとタイトル名が変更されていることが確認できます。 できるだけわかりやすいタイトル名をつけることをおすすめします。
画面番号を使うと、直接いきたい仮想画面を切り替えることができます。
仮想画面への直接移動
^Z [画面番号]とキーインします。
画面番号は0〜9までが指定可能
このコマンドを用いると、仮想画面が多いときにもすばやく画面切替ができます。
ところで、最初に出てきた^Z [SPACE]は、
実は画面番号の昇順で、仮想画面を切替えるコマンドだったのです。
逆に画面番号の逆順に仮想画面を切替えるコマンドもあるので紹介しておきます。
仮想画面の切替(降順)
^Z ^Hまたは^Z [DEL]または^Z ^Pまたは^Z pとキーインします。