ターミナルとの互換性¶
fish はターミナルに対してさまざまな制御シーケンスを書き込みます。基本的な機能を有効にするために実装が必須なものもあれば、オプション機能を有効にするためのもので、ターミナル側で無視されてもよいものもあります。
ターミナルは、Control Sequence Introducer (CSI) コマンド、Operating System Commands (OSC)、および オプションで Device Control Strings (DCS) を解析できる必要があります。これらは ECMA-48 で定義されています。有効な CSI、OSC、または DCS シーケンスであっても、ターミナルに実装されていないコマンドを表す場合は、ターミナルはそれを無視しなければなりません。歴史的な理由により、OSC シーケンスは \e\\ の代わりに \x07 で終了する場合があります。
制御シーケンスは fish 風の構文で記述されています。 \ 以外の特殊文字はエスケープされません。スペースは可読性のために追加されているだけで、シーケンスの一部ではありません。プレースホルダーは、数値の場合は Ps 、任意の表示可能文字列の場合は Pt と表記されます。
注意: fish はシステムの terminfo データベースに依存しません。このドキュメントに含まれる terminfo (TI) コードは、参照用としてのみ記載されています。
必須コマンド¶
シーケンス |
TI |
説明 |
|---|---|---|
|
なし |
カーソルを行頭へ移動する |
|
cud1 |
カーソルを 1 行下へ移動する。 |
|
cuu |
カーソルを Ps 行上へ移動する(パラメータがない場合は 1 行)。 |
|
cuf |
カーソルを Ps 列右へ移動する(パラメータがない場合は 1 列)。 |
|
cub1 |
カーソルを 1 列左へ移動する。 |
|
cub |
カーソルを Ps 回左へ移動する。 |
|
cup |
カーソル位置を設定する(パラメータがない場合は 1 行 1 列へ移動)。 |
|
el |
行末までを消去する。 |
|
ed |
画面末尾までを消去する。 |
|
clear |
画面全体を消去する。 |
|
プライマリ・デバイス属性(Primary Device Attribute)をリクエストします。ターミナルは、 これが実装されていない場合、起動時にわずかな一時停止が発生し、その後に警告が表示されます。当面の間、これらはいずれも |
|
なし |
am |
画面幅に合わせてテキストを自動的に折り返す(ソフトラップ)。 |
なし |
xenl |
最終列に文字を出力しても、カーソルが次の行へ移動しません。 |
オプションのコマンド¶
シーケンス |
TI |
説明 |
|---|---|---|
|
it |
カーソルを次のタブストップ(8 列ごと)へ移動します。これは主に、プロンプトにタブが含まれている場合に関係します。 |
|
sgr0 |
太字、薄字、イタリック、下線、打ち消し線、反転といった属性モードをオフにし、デフォルトの色を選択します。 |
|
bold |
太字モードに入ります。 |
|
dim |
薄暗い(dim)モードに入ります。 |
|
sitm |
イタリック(斜体)モードに入ります。 |
|
smul |
下線モードに入ります。 |
|
Su |
二重下線モードに入ります。 |
|
Su |
波状下線モードに入ります。 |
|
Su |
点線下線モードに入ります。 |
|
Su |
破線下線モードに入ります。 |
|
rev |
反転表示モード(前景色と背景色を入れ替える)に入ります。 |
|
smxx |
取り消し線モードに入ります。 |
|
ritm |
イタリック(斜体)モードを終了します。 |
|
rmul |
下線モードを終了します。 |
|
rmxx |
取り消し線モードを終了します。 |
|
setaf |
256色パレットから前景色 Ps を選択します。 |
|
setab |
256色パレットから背景色 Ps を選択します。 |
|
Su |
256色パレットから下線の色 Ps を選択します。 |
|
setaf setab |
前景色/背景色を選択します。これは、パラメータが含まれる範囲に基づいて、前述の256色パレット内の色を使用します。30-37は前景色0-7、40-47は背景色0-7、90-97は前景色8-15、100-107は背景色8-15に対応します。 |
|
24ビットRGBカラーから前景色を選択します。 |
|
|
24ビットRGBカラーから背景色を選択します。 |
|
|
ターミナルの前景色をデフォルトに戻します。 |
|
|
背景色をターミナルのデフォルトに戻します。 |
|
|
Su |
24ビットRGBカラーから下線の色を選択します。 |
|
Su |
下線の色をデフォルト(前景色に従う)に戻します。 |
|
indn |
コンテンツ(ビューポートではなく)を Ps 行分上にスクロールします(ECMA-48では |
|
なし |
kitty キーボードプロトコルを有効にします。 |
|
なし |
カーソル位置のレポートを要求します。レスポンスは これは、画面の下端で複数行のオートサジェスチョン(自動提案)を切り詰めるために、scrollback-push 特殊入力関数や、OSC 133 click_events 機能を実装しているターミナル内部で使用されます。 |
|
Se |
カーソルのスタイルをターミナルのデフォルトにリセットします。現時点では使用されていませんが、将来的に使用される可能性があります。 |
|
Ss |
カーソルのスタイルを設定します (DECSCUSR)。Ps が 2 の場合はブロック、4 の場合は下線、6 の場合は垂直線の形状になります。 |
|
なし |
ターミナルの名称とバージョンを要求します (XTVERSION)。これは、互換性のないターミナルに対する一時的な回避策(ワークアラウンド)としてのみ使用されます。 |
|
cvvis |
カーソルの表示を有効にします (DECTCEM)。 |
|
なし |
フォーカスレポートを有効にします。 |
|
なし |
フォーカスレポートを無効にします。 |
|
なし |
代替画面バッファを有効にします。 |
|
なし |
代替画面バッファを無効にします。 |
|
ブラケット付きペースト(bracketed paste)を有効にします。 |
|
|
ブラケット付きペースト(bracketed paste)を無効にします。 |
|
|
非要請の`カラーテーマレポート <https://contour-terminal.org/vt-extensions/color-palette-update-notifications/>`_を有効にします。有効にすると、ターミナルはカラーテーマが変更されるたびに |
|
|
非要請のカラーテーマレポートを無効にします。 |
|
|
ts |
ターミナルウィンドウのタイトルを設定します (OSC 0)。 fish_title で使用されます。 |
|
ts |
ターミナルのタブタイトルを設定します (OSC 1)。 fish_tab_title で使用されます。 |
|
作業ディレクトリを報告します (OSC 7)。ターミナルが(リモート)シェルのあるシステムとは別のシステムで動作している可能性があるため、ホスト名(最初のパラメータ)は |
|
|
ハイパーリンク (OSC 8) を作成します。これはfishのmanページで使用されています。 |
|
|
なし |
背景色を問い合わせます。 有効なレスポンスの形式は これは |
|
クリップボードへコピーします (OSC 52)。 fish_clipboard_copy で使用されます。 |
|
|
kittyの |
|
|
プロンプトの終了をマークします (OSC 133)。 |
|
|
kittyの |
|
|
コマンドの終了をマークします (OSC 133)。 Ps は終了ステータスです。 |
|
|
terminfoケーパビリティを要求します (XTGETTCAP)。パラメータは、16進エンコードされたterminfoコードです。 レスポンスは fishは以下の文字列ケーパビリティを照会します。
|
DCSコマンドとGNU screen¶
DCSコマンドを印刷する前にfishが一時的に代替画面に切り替えるため、DCSの解析は任意(オプショナル)です。しかし、GNU screenはデフォルトで代替画面バッファを有効にすることを許可しておらず、DCSコマンドを互換性のある方法で扱わないため、fishの初期プロンプトが +q696e646e のようなDCSペイロードによって文字化けする可能性があります。当面の間、fishは STY 環境変数の存在をチェックすることでこれを回避しています。何らかの理由でそれが機能しない場合は、 ~/.screenrc に以下を追加してください。
altscreen on
または、 config.fish に以下を追加してください。
function GNU-screen-workaround --on-event fish_prompt
commandline -f repaint
functions --erase GNU-screen-workaround
end
Unicodeコードポイント¶
デフォルトでは、fishは以下の非ASCII文字を出力します。
× ► ¶ ⏎ • ● … μ – ’ ‘ “ ” ← → ↑ ↓
また、制御文字記号(U+2400からU+241F)、および 翻訳された文字列 内のロケール固有の文字も出力されます。
