ターミナルエミュレーション (Tera Term 設定ファイル)

# バック・ラップ (back wrap)

バック・ラップ (back wrap) 機能を有効にすると、BS 文字を受信した時に行の始めにあるカーソルが前の行の最後に移動します。バック・ラップを有効にするには、設定ファイルの [Tera Term] セクションの BackWrap 行を以下のように変更してください。

    BackWrap=on

    省略時:
    BackWrap=off

# BEL 文字受信時の動作

BEL 文字 (ASCII $07) が受信された時に Tera Term はビープ音を鳴らします。

ビープ音を鳴らしたくない場合は、設定ファイルの [Tera Term] セクションの Beep 行を以下のように変更してください。

    Beep=off

また、以下のようにするとビープ音を鳴らす代わりに端末画面をフラッシュさせるようになります。

    Beep=visual

    省略時:
    Beep=on

# C1 制御文字 ($80-$9F) を使用しない

Tera Term の漢字モード(受信)を EUC か JIS にして、 Teraminal ID を VT2XX または、 VT3XX にしている場合、Shift-JIS の漢字を受信すると、ハングアップすることがあります。

これは、Shift-JIS コードの中に C1 制御文字 ($80-$9F) が含まれているために、それらを制御文字として解釈してしまい、端末の状態がおかしくなるからです。

例えば、ホストによってはログイン時などに SJIS(Shift-JIS), EUC, JIS などの数種類の漢字コードを端末に送り、どのコードが正しく表示されてるかユーザーに入力させる、ということがあり、このような場合に問題が発生します。

もし、このような状態になった場合、[Control] Reset terminal で端末の状態をリセットしてください。

このような問題をさけるには、3つの方法があります。

1. 漢字モード(受信)を SJIS に設定する。
2. [Setup] Terminal で Terminal ID を VT1XX (例えば VT100) にする。
3. 設定ファイルの [Tera Term] セクションの Accept8BitCtrl 行を

       Accept8BitCtrl=off

   のように編集し、 C1 制御文字として送られてきた文字を無視するように設定する。

       省略時:
       Accept8BitCtrl=on

# C1 制御文字 ($80-$9F) を送信に使用する

Tera TermではC1制御文字を送信する時、同等の意味を持つ7ビット文字の組み合わせを使います。

もし C1 制御文字を単独の8ビット文字で送信したい場合は、設定ファイルの [Tera Term] セクションの Send8BitCtrl 行を、

    Send8BitCtrl=on

のように変更してください。

注: この設定は初期値としてのみ使われます。ホストは S7C1T / S8C1T / DECSCL 制御シーケンスによってこの設定を変更する事ができます。

    省略時:
    Send8BitCtrl=off

# 正しくない "kanji-out" を使用可能にする

一部のシステムで用いられている "kanji-out" シーケンス ^[(H は、JIS/ISO の規格に従っていません。本当に必要のある場合以外は使用しないでください。初期設定では間違いを防ぐため [Setup] terminal ダイアログボックスで ^[(H が選択できないようになっています。

^[(H を選択できるようにするには、設定ファイルの [Tera Term] セクションの AllowWrongSequence 行を、

    AllowWrongSequence=on

のように変更してください。ダイアログボックスで選択できるようになります。

    省略時:
    AllowWrongSequence=off

# 2バイト文字(漢字)の1バイト目と2バイト目の間に制御文字等が入った場合、1バイト目を無効にする

ホストから送られてくる2バイト文字(漢字等)の1バイト目と2バイト目の間に制御文字(例えば改行文字)等が入っても、Tera Term の初期設定では2バイト文字も制御文字も正しく取り扱われます。

設定ファイルの [Tera Term] セクションの CtrlInKanji 行を、

    CtrlInKanji=off

のように変更すると、2バイト文字の1バイト目の後に制御文字等が来た場合、1バイト目を無効にします。この後に2バイト目が来ても、ゴミとして表示されます。2バイト文字を正しく扱わないアプリケーションでは、このようにしたほうが、画面の文字化けが少なくなる可能性があります。例えば、漢字の1バイト目の後に改行文字を出して、その後に2バイト目は出さない、というアプリケーションがあったとすると、その漢字は捨てられますが、改行文字以降に来る文字が化けずに済みます。

    省略時:
    CtrlInKanji=on

# 受信した文字をすべて表示

受信した文字をすべて表示するようにするには、設定ファイルの [Tera Term] セクションの Debug 行を、

    Debug=on

のように変更してください。Shift+Esc を押すとデバッグモードになります。 デバッグモードは全部で4種類あり、トグルで以下のように切り替わります。

- 通常表示 -> デバッグモード -> 16進デバッグモード -> 非表示

デバッグモードを解除するには、「通常表示」に戻してください。

デバッグモードでは、受信したデータを以下の規則で文字に変換して表示します。

    $00 - $1F    ^@ - ^_を表示
                 ($00=^@ $01=^A $02=^B $03=^C $04=^D $05=^E $06=^F $07=^G
                  $08=^H $09=^I $0A=^J $0B=^K $0C=^L $0D=^M $0E=^N $0F=^O
                  $10=^P $11=^Q $12=^R $13=^S $14=^T $15=^U $16=^V $17=^W
                  $18=^X $19=^Y $1A=^Z $1B=^[ $1C=^\ $1D=^] $1E=^^ $1F=^_)
    $20 - $7E    そのまま文字として表示
    $7F          <DEL>を表示
    $80 - $FF    最上位 bit を0にして、$00-$7Fと同じ規則で
                 文字に変換し、反転文字として表示。

16進デバッグモードでは、受信したデータを以下の規則で文字に変換して表示します。

    $00 - $FF    2桁の16進数値（アルファベットは大文字）と空白を表示する。

    省略時:
    Debug=off

# ステータスラインを使用不可にする

VT 端末のステータスラインの機能を使用不可にするには、設定ファイルの [Tera Term] セクションの EnableStatusLine 行を以下のように変更してください。

    EnableStatusLine=off

この場合、ステータスラインに関するエスケープシーケンスはすべて無視されます。

    省略時:
    EnableStatusLine=on

# TEK GIN report のマウスコード

ホスト側のアプリケーションによって、TEK window が GIN モード(クロスヘアーカーソルが現れ、座標入力が可能な状態)になったとき、あるキーを押すと TEK window はクロスヘアーカーソルの座標とキーの ASCII コードをホストへ報告します。

GIN モードでマウスの左ボタンを押したときに座標とともに送出する キーコード を設定するには、設定ファイルの [Tera Term] セクションの TEKGINMouseCode 行を、

    TEKGINMouseCode=<key code>

のように変更してください。

    省略時:
    TEKGINMouseCode=32
    (32はSpace のASCII コード)

# 行末のタブ表示を VT 端末互換にする

on の場合には、行末のタブの動作は VT/PuTTY/xterm 等と同じになります。タブによる自動改行は発生しません。
off の場合には、行末のタブの動作は FreeBSD のコンソール (syscons) 等と同じになります。タブによる自動改行が発生します(VT非互換)。

    VTCompatTab=on

    省略時:
    VTCompatTab=off

# 画面クリア時にカレントバッファをスクロールアウトさせるかどうか設定する

カーソルが左上(0, 0)にある場合の <ESC>[J (Erase Below) は、<ESC>[2J (Erase All) と同じことになる。
このとき、画面クリア時にカレントバッファをスクロールアウトするかどうかを設定できる。

on の場合には、<ESC>[2J と同様にカレントバッファをスクロールアウトする。
off の場合にはカレントバッファをスクロールアウトせず、カーソル位置からスクリーンの最後までを消去する。

    省略時:
    ScrollWindowClearScreen=on

# UnicodeからDEC特殊文字へのマッピングを設定する

日本語環境ではTera Termは罫線や一部の記号を2カラム幅で表示します。しかし、ホスト側のアプリケーションによってはUTF-8エンコーディング時にはこれらの文字が1カラム幅で表示されると期待した出力を行う物があり、その結果画面出力が崩れる場合があります。
また英語環境では罫線を+-|を使って表示したり、対応していない文字を??と表示したりします。
Tera Termでは、これらの文字でDEC特殊文字に近い物がある物は、それを使って表示するようにする事ができ、それによって表示の崩れを軽減する事ができます。
ただし、マウスで選択した時にクリップボードにコピーされるのが本来とは別の文字になってしまうという副作用があります。
この設定は、受信漢字コードがUTF-8またはUTF-8mの時のみ効果を持ちます。

マップされる文字は幾つかの種類に分類されており、種類毎に変換するか設定する事が出来ます。
変換する種類ごとの値を足した数値をUnicodeToDecSpMappingに指定してください。

    種類A: 罫線
    値: 1
      Box drawings (U+2500-U+257F)

    種類B: 4.58までは??と表示された文字(英語環境では何も表示されない物も含む)
    値: 2
      Bullet (U+2022)
      Hyphenation point (U+2027)
      Light shade (25%) (U+2591)
      Medium shade (50%) (U+2592)
      Dark shade (75%) (U+2593)
      Black small square (U+25AA)
      Black vertical rectangle (U+25AE)
      Black very small square (U+2B1D)

    種類C: 日本語環境では中点、英語環境ではMiddle dotとして表示される文字
           日本語環境以外では指定しない事を勧めます
    値: 4
      Middle dot (U+00B7)
      One dot leader (U+2024)
      Bullet operator (U+2219)

    省略時:
    # 種類AとB
    UnicodeToDecSpMapping=3

# ファンクションキー等のデフォルトの動作

Tera Term 4.62 より、ファンクションキーやエディタキーパッドのキーのデフォルトの動作が変更になりました。 これにより、キーボード設定ファイルでこれらのキー設定をoffにしたり、キーボード設定ファイルが無い場合も、VT端末の同じようなキーのシーケンスが送出されるようになりました。

キーボード設定ファイルでファンクションキー等をoffにした時に、以前のバージョンの Tera Term と同じように何も送出しないようにするには、設定ファイルの [Tera Term] セクションの StrictKeyMapping 行を以下のように変更してください。

    StrictKeyMapping=on

    省略時:
    StrictKeyMapping=off

# AltキーでMSBをセットした文字を送信する

AltキーでMSB(Most Significant Bit 最上位ビット)をセットした文字を送信するには、設定ファイルの [Tera Term] セクションの Meta8Bit 行を以下のようにしてください。

    Meta8Bit=raw

また、AltキーでMSB(Most Significant Bit 最上位ビット)をセットした文字を、送信文字コードの設定に従って(UTF-8等に)変換してから送信するには、以下のようにしてください。

    Meta8Bit=text

注: どちらの場合も、この機能を有効にするには Meta Key の設定も有効にしておく必要があります。

    省略時:
    Meta8Bit=off

# 代替画面バッファを無効にする

Tera Term 4.65より代替画面バッファに対応しました。この為、代替画面バッファに対応したアプリケーション(Vimやlessなど)では終了時に起動前の画面が復元されます。

代替画面バッファを無効にするには、設定ファイルの [Tera Term] セクションの AlternateScreenBuffer 行を以下のようにしてください。

    AlternateScreenBuffer=off

    省略時:
    AlternateScreenBuffer=on

# 端末固有IDを設定する

Tera Term は DA3 制御シーケンスを受信すると、端末固有の ID 応答します。端末固有 ID は 8 桁の 16 進数値で、最初の 2 桁が製造場所を、残りの 6 桁が製造場所内で端末毎に割り振られた固有の番号です。

DA3 制御シーケンスに対して応答する端末固有 ID を別の値、例えば 01234567 に変更したい場合は、設定ファイルの [Tera Term] セクションの TerminalUID 行を以下のようにしてください。

    TerminalUID=01234567

    省略時:
    TerminalUID=FFFFFFFF

# 端末固有IDを変更可能にする

端末固有 ID はホスト側から DECSTUI 制御シーケンスを送る事によって変更する事が出来ますが、標準ではこの機能は無効にされています。

DECSTUI制御シーケンスによって端末固有 ID を変更できるようにしたい場合は、設定ファイルの [Tera Term] セクションの LockTUID 行を以下のようにしてください。

    LockTUID=off

    省略時:
    LockTUID=on

# タブストップ位置の変更を禁止する

制御シーケンスによるタブストップの位置の変更を禁止したい場合は、設定ファイルの [Tera Term] セクションの TabStopModifySequence 行を以下のようにしてください。

    TabStopModifySequence=off

また、タブストップの位置を変更する制御シーケンスの内、特定のもののみを禁止する事も出来ます。以下のタブストップ変更シーケンスの内、許可するシーケンスの略号の組み合わせを指定します。

略号 | シーケンス | 説明
--- | --- | ---
HTS7 | ESC H | カーソル位置にタブストップを設定する (7ビット形式)
HTS8 | 0x88 | カーソル位置にタブストップを設定する (8ビット形式)
HTS | - | HTS7とHTS8の両方
TBC0 | ESC [ 0 g | カーソル位置のタブストップを削除する
TBC3 | ESC [ 3 g | すべてのタブストップを削除する
TBC | - | TBC0とTBC3の両方

例えば、8ビット形式のタブ設定シーケンス(HTS8)のみを禁止したい場合は、設定ファイルの [Tera Term] セクションの TabStopModifySequence 行を以下のようにしてください。

    TabStopModifySequence=HTS7,TBC

    省略時:
    TabStopModifySequence=on

# ベル過使用時の一時無効化

ホスト側から BEL 文字 (ASCII $07) が送られて来た時、Tera Term ではビープ音を鳴らしたり、画面を点滅させたりします。

誤ってバイナリファイルを表示してしまった時などで多量に BEL 文字が送られて来た時に、自動的にビープ音を鳴らすのを抑制する事が出来ます。
例えば、設定ファイルの [Tera Term] セクションの BeepOverUsedTime, BeepOverUsedCount, BeepSuppressTime 行を以下のようにすると、 2 秒間に 5 回 BEL 文字が送られてくると、BEL 文字が 10 秒間送られて来なくなるまでビープ音をならさないようになります。

    ; Beep over-used
    BeepOverUsedTime=2
    BeepOverUsedCount=5
    BeepSuppressTime=10

    省略時:
    ; Beep over-used
    BeepOverUsedTime=2
    BeepOverUsedCount=5
    BeepSuppressTime=5

# OSC文字列用バッファサイズ

Tera Term では OSC 文字列の処理時に処理用のバッファが足りなくなると自動的にバッファを拡張するようになっています。 しかし、バグ等でホスト側が壊れた OSC 文字列送ってきた時などに際限なくメモリを消費するのを防ぐため、 OSC 文字列処理用のバッファの最大サイズを制限しています。

通常の使用ではまず問題が発生しませんが、OSC 52 (PASTE64) で多量のデータをやり取りする場合に制限にかかり、 データが途中で切れてしまう場合があります。
設定ファイルの [Tera Term] セクションの MaxOSCBufferSize 行の値を以下のように増やす事によって、OSC 文字列でより多量のデータを扱えるようになります。

    MaxOSCBufferSize=16000

    省略時:
    MaxOSCBufferSize=4096

# ISO/IEC 2022のシフト機能による文字セットの切り替えを禁止する

ISO/IEC 2022のシフト機能による文字セットの切り替えを禁止したい場合は、設定ファイルの [Tera Term] セクションの ISO2022ShiftFunction 行を以下のようにしてください。

    ISO2022ShiftFunction=off

また、ISO/IEC 2022のシフト機能の内、特定のもののみを禁止する事も出来ます。以下のシフト機能の内、許可する機能の略号の組み合わせを指定します。

略号 | コード | 説明
--- | --- | ---
SI | 0x0F | GL へ G0 を呼び出す
SO | 0x0E | GL へ G1 を呼び出す
LS2 | ESC n | GL へ G2 を呼び出す
LS3 | ESC o | GL へ G3 を呼び出す
LS1R | ESC ~ | GR へ G1 を呼び出す
LS2R | ESC } | GR へ G2 を呼び出す
LS3R | ESC | | GR へ G3 を呼び出す
SS2 | 0x8E / ESC N | GL または GR へ G2 を次の一文字に限り呼び出す
SS3 | 0x8F / ESC O | GL または GR へ G3 を次の一文字に限り呼び出す
ALL | - | 上記すべて
NONE | - | なし

例えば、Shift-In(SI), Shift-Out(SO) のみを禁止したい場合は、設定ファイルの [Tera Term] セクションの ISO2022ShiftFunction 行を以下のようにしてください。

    ISO2022ShiftFunction=LS2,LS3,LS1R,LS2R,LS3R,SS2,SS3

また、略号の前に - を付ける事によって指定したシフト機能を無効にする事ができます。前述の Shift-In(SI), Shift-Out(SO) のみを禁止する設定は、以下のようにも指定できます。

    ISO2022ShiftFunction=ALL,-SI,-SO

注: この形式で指定した場合、設定の保存を行うと使用する機能のみのリストに置き換えられます。

    省略時:
    ISO2022ShiftFunction=on