`script` コマンドでファイルを生成した後、vim で `:set isprint=1-225` を使用して印刷できない文字を削除しましたが、この形式でファイルを保存できません。

`script` コマンドでファイルを生成した後、vim で `:set isprint=1-225` を使用して印刷できない文字を削除しましたが、この形式でファイルを保存できません。

vim でこのコマンドを実行すると、:set isprint=1-225すべての非印刷文字が圧縮/削除されます。では、このファイルを保存したり、このファイルがデフォルトでこの形式で開くようにこのファイルの形式を変換するにはどうすればよいでしょうか。または、github にアップロードすると、非印刷文字が圧縮されますか?

私の質問は、プログラミングや開発に関連していないという理由で Stack Overflow で低評価を受けたので、ここでもう少し詳細を追加してみようと思いました。タイトルにすべてを収めることはできませんでしたが、基本的に追加した内容を次の行にまとめることができます。 コマンドを使用してscriptセッションをログに記録していますが、scriptコマンドは多くの「印刷不可能な」文字を含むファイルを生成しますが、vim で印刷不可能な文字を圧縮できます。:set isprint=1-225この形式でファイルを保存するにはどうすればよいですか?

私が知っていて試したことのある他のオプションとしては、制御文字を削除する Perl 関数を作成すること (印刷できない文字がすべて削除されたかどうかを確認する必要がありますが、最善の代替手段です) と、bash プロンプトからのdos2unix&コマンドの組み合わせがあります。col -bp

これ有望に見えましたが、試してみる前に、Ubuntu のダウンロードの下に古いと表示されているのに気づきました。それでもファイルを使用してインストールを試みる必要があるでしょうか.tar.bz2?

追伸このSOの投稿でカイル・バーバーの答えはvim のコマンドラインから実行しているtr操作をユーティリティを使用して実行する方法があるのではないかと考えます。set: isprint=1-225

答え1

オプションを設定しても'isprint'ファイルは変更されず、Vim がファイルを表示する方法にのみ影響します。ただし、そのオプションを設定した後に代替コマンドを実行することはできます。

:%s/[^[:print:]]//g

次にファイルを書き込みます。

答え2

[解決済み] 私は tmux を使用しているので、私の目的のために tmux コマンドを使用することにしましたcapture-pane -S <# off lines>

したがって、コマンドを使用してセッションから I/O をscriptxyz.txt ファイルにキャプチャした後、ターミナル プロンプトから、cat xyz.txt印刷できない文字なしでファイルを表示するために発行できます。tmux で、コピー モードで xyz.txt ファイルの行数を確認します。最後に、tmux コマンド バッファーからコマンドを発行しcapther-pane -S <# of lines>、を使用してファイル zyx.txt に保存します:save-buffer zyx.txt

皆さんありがとう。

関連情報