4

環境

従来の Unix コマンド "script" を使用して取得した、端末操作からのいくつかのトランスクリプト ファイルを用意します。

これらのトランスクリプトには、多数の制御文字 (シェル コマンドを編集するときのバックスペースなど) と、さまざまなコマンドを実行した結果としての多数のカラー コード シーケンスが含まれています。時折、「emacs -nw」や「aptitude」などのカラフルなフルターミナル (ncurses ベース) アプリケーションも実行されました。

プログラムの実行時に、TERM 環境変数は「xterm」として設定されました。

ニーズ 1: 読む (多かれ少なかれ解決済み)

これらのファイルをもう一度読み込んで、小さな部分をコピーして貼り付ける必要があります。

問題は、1 つの色があちこちで変化することはそれほど大きな問題ではありませんが、実際の濃度では出力がほとんど判読できないことです。さらに悪いことに、編集されたコマンド ライン (カーソル ジャンプと編集された単語を含む) は完全に判読できません。

「よし」解決策

「less -r」などを使用してファイルをブラウズします。同じ端末設定でページを進めると、さまざまな色と文字スタイルが再現されます。

しかし、他の多くの機能は多かれ少なかれ壊れているように見えます。たとえば、後方検索を行うとターミナル出力がごちゃごちゃになり、クリーンアップするために「Ctrl-L」を押す必要があることがよくあります。

ニーズ 2: 編集

私のお気に入りのエディタは emacs です。emacs 内でシェルを実行しているときに、似たような状況に陥った人もいます。たとえば、 Emacs shell に問題があります

ここでは同じ状況ではありません。違いの例: ここでは実際のシェルを実行する必要はありませんが、通常の編集のようにカーソルを自由に移動する必要があります。

ここでの編集とは、そのようなトランスクリプト ファイルをエディターで簡単に開いてから、次のことを行うことを意味します。

  • 編集中はいつでも、端末コードによって伝達される文字の変更 (色、属性) を確認できます。
  • (オプション) ターミナル グリッド上で隣接しているが、ファイル内でいくつかの制御文字によって区切られている文字には、これに関する視覚的なヒントがあります。
  • テキストを挿入する機能、
  • セクションを削除し、
  • 検索/置換などのすべてのエディター機能を使用します。
  • ファイルとの間でコピー&ペースト(プレーンテキストのみを受け取る外部プログラムを含む)
  • 私の最も野心的な夢の中で、ある種の「フラット化」アクション、たとえば、大幅に編集されたコマンドラインでシーケンスを選択し、それを 1 回の実行で入力されたかのように単純な一連の文字に置き換えるなどです。上記の「ビジュアルヒント」が消えてしまいます。
4

1 に答える 1