manの保存ファイル出力に不要なCtrl + Hがあります。

manの保存ファイル出力に不要なCtrl + Hがあります。

それからman less(オプションでh「いくつかのコマンドの要約」をクリック)、テキストを表示するmanためのものなので、テキストをファイルに保存をlessクリックしました。s

emacsまたはviでファイルを開くと、不要なCtrl + Hが表示され、一部の文字が不必要に繰り返されます。なぜそんなことですか? 「少ないコマンドサマリー」を正しく保存する方法は?

man less出力をファイルにリダイレクトするのに問題がないのはなぜですか?

ありがとうございます。

ここに画像の説明を入力してください。

答え1

これは1970年代のテレタイプマシン(ttys!)にさかのぼります。

X<backspace>X(ASCII BS文字で)テレタイプマシンに送信して^HXを書き、文字を返し、それ自体にXを書き換えます。のように見えるように2回書きました。勇敢な

同様に、下線の場合は次のように書くことができます_<backspace>XX下線

roff使用された組版システムは、man1970年代にUnix用に作成された最初のシステムの1つでした。これはUnixの作者がお金を稼ぐ方法だったからです。

manテレタイプに then を使用すると、これらのシーケンスを太字で下線を引くことができます。

テレタイププライターはまもなくカソードラインターミナルに置き換えられました。そこで、BS文字はカーソルを後ろに移動し、文字は下の文字を上書きします。

だから送るか、X<backspace>X単に_<backspace>X見せてくださいX。 CRTには画面スペースが限られています(テレタイプの紙とは異なり)。携帯用小型無線ポケットベル誕生と同じですmore

X<BS>Xページャは、これらのシーケンスを理解し、対応するエスケープシーケンスを使用して端末に太字または下線を表示するように指示するように拡張されました。

more、、、lessを含む今日のポケットベルはmostまだw3mこれらのシーケンスを理解しています。

man出力がポケットベルに送信されるときに太字または下線を表示するためにまだ使用されます。

man(少なくとも一部の実装では)出力が端末に送信されないことを検出すると、ページャを呼び出さずにこれらのシーケンスを使用しないため、ファイルにリダイレクトするとそのシーケンスは表示されません。

これらのシーケンスを削除するには、このcol -bコマンドを使用します。

関連情報