Linux では、bash シェルを使用して script コマンドを使用すると、生成されたファイルは typescript と呼ばれます。そのファイルを vim で開くと、各行に^M文字が含まれ、いくつかの行には (色付きのコマンド プロンプトのため) 文字^[が含まれます。これらの文字を何も置き換えずに、生成されたスクリプトから効果的に削除したいと思います。
まず、:%s/^[//gc
、:%s/\^[//gc
、:%s/\^\[//gc
、およびその他のいくつかのバリエーションを試しました。それらのいずれも^[文字に一致しなかったため、検索/置換は機能しませんでした。
^M文字についても、これらすべてのバリアントを試してみましたが、同じ結果が得られました。グーグルで調べたところ、^M文字が実際にはキャリッジ リターン「\r」であることがわかりました。それで試してみたところ:%s/\\r//gc
、これは^M文字でうまくいきました!
^[文字が何であるかを理解するために、さらにグーグルで検索しましたが、何も役に立ちませんでした。
2 つの質問:
1) ^[文字とは何ですか? vim で検索および置換するために使用する適切な正規表現は何ですか?
2) Linux で script コマンドを使用すると、生成されたスクリプトが行末に^Mを生成するのはなぜですか? これは、Linux スクリプト コマンドが LF eol 文字だけでなく、CRLF eol 文字を生成していると思わせます。