VIS(1)

名称
vis - 表示不可能なキャラクタを、表示可能なフォーマットで出力する

書式
vis [-cbflnostw] [-F foldwidth] [file ...]

解説
vis ユーティリティは、 表示不可能なキャラクタをビジュアルに表現に変換するフィルタです。 ‘cat -v’ と異なり、変換した出力はユニークで、逆変換可能です。 デフォルトでは、空白文字、タブ、および改行 (ニューライン) を除く 表示不可能な全キャラクタがエンコードされます。エンコードのフォーマットの 詳細は、 vis(3) で与えられます。

オプションとしては以下のものがあります。

-b  デフォルトのエンコードは、バックスラッシュと上矢印(キャレット) とメタキャラクタの組み合わせですが、これにバックスラッシュを入れないようにし ます。この出力は正確ではなく、逆変換もできませんが、 入力に対して最も変更が少ない表現です。出力は、 “cat -v” によく似たものとなります。

-c  一部の表示不可能なキャラクタに、C 言語のバックスラッシュシーケンスを 使って表示します。

-F foldwidth
    fold(1) 同様、1 行の表示幅を foldwidth に収めます(デフォルトは 80桁)。ただし fold(1) と異なり、特別な見えない改行シーケンスを用います。 この改行は unvis(1) で元のファイルに戻す際に取り除かれます。 もしファイルの最後の文字が改行で終ってない場合には、出力に 見えない改行シーケンスを付加します。 不完全な行があるとうまく動作しない数々のエディタやユーティリティでも 正しく扱える形式の出力が得られます。

-f  -F と同じです。

-l  改行位置が見えるように、改行の前に ‘\$’ を挿入します。

-n  バックスラッシュの二重化と -f もしくは -F 指定時に挿入される見えない改行シーケンス以外はエンコードしないように します。 -f フラグと組み合わせたときの動作は、 逆変換可能な fold(1) ユーティリティと考えることができます。 つまり、出力を unvis(1) にかけることで fold 状態を元に戻すことができます。

-o  表示不可能なキャラクタ \ddd というように、バックスラッシュ と8進数表現で表示します。

-s  端末に送るのが適切ではないキャラクタだけをエンコードします。 デフォルトの空白文字やタブ、改行に加え、 バックスペースやベル、復帰 (carriage return) もそのまま出力されます。

-t  タブをエンコード対象にします。

-w  空白、タブ、改行もエンコード対象にします。

関連項目
unvis(1), vis(3)

歴史
vis コマンドは 4.4BSD から登場しました。

バグ
裏で使われている vis(3) 関数の制限のため、 vis ユーティリティはマルチバイト文字を認識しません。 このため、それらが実際には表示可能な文字であったとしても、 表示不可能な文字として扱われることがあります (またその逆もあります)。