Next: , Previous: , Up: Emacsからのシェルコマンドの実行   [Contents][Index]


39.8 Emacsの端末エミュレーター

テキスト端末エミュレーターでサブシェルを実行するには、M-x termを使用します。これは*terminal*という名前のバッファーを作成(または再利用)して、キーボードを入力とするサブシェルを実行し、出力はそのバッファーになります。

端末エミュレーターは、2つの入力モードをもつTermモードを使用します。lineモード(line mode)では、Termは基本的にShellモードのように振る舞います(Shellモードを参照してください)。charモード(char mode)では、文字は端末入力として直接サブシェルに送られます。唯一の例外は端末エスケープ文字で、デフォルトはC-cです(Termモードを参照してください)。入力をエコーするのはサブシェルの役目です。サブシェルからの端末出力は、バッファーのポイントの後に送られます。

(Emacsのような)いくつかのプログラムでは、端末スクリーンで詳細に外観を制御する必要があります。これらのプログラムは特別な制御コードを送ることによりこれを行ないます。Termモードは、xtermを含むほとんどの現代的な端末で使用できる、ANSI標準のVT100スタイルのエスケープシーケンスを認識・処理します(したがって、実際にEmacsのTermウィンドウ内でEmacsを実行することもできます)。

termフェイスは、端末エミュレーターのテキストのデフォルトの外観を指定します(デフォルトはdefaultフェイスと同じ外観です)。端末の制御コードがテキストの外観を変更するために使用される場合、これらは端末エミュレーター内で、フェイスterm-color-blackterm-color-redterm-color-greenterm-color-yellowterm-color-blueterm-color-magentaterm-color-cyanterm-color-whiteterm-color-underlineterm-color-boldで表示されます。テキストのフェイスを参照してください。

シリアルポートに接続されたデバイスと通信するために、Termモードを使うこともできます。シリアル端末を参照してください。

サブシェルをロードするために使用されるファイル名は、Shellモードと同じ方法で決定されます。複数の端末エミュレーターを作成するには、Shellモードと同じように、M-x rename-uniquelyを使って、バッファー*terminal*を違う名前にリネームします。

Shellモードとは異なり、Termモードは入力を調べてカレントディレクトリーを追跡することはしません。しかし、いくつかのシェルはカレントディレクトリーをTermに告げることができます。これはbashのバージョン1.15以降では自動的に行なわれます。