いくつかの背景情報:進行状況バーを使用します(特に包括的な品質管理)SSHを介してアクセスされるリモートシステムで実行されるスクリプトの進行状況を監視します。スクリプトが実行されているスクリーンセッションにアクセスできる限り、すべてが正常です。
時々画面が利用できないことがあります(具体的には、泥)、それでスクリプトの出力をファイルにリダイレクトするようになりました。この場合、3つのオプションが見つかりました。
tail -f file
:進行状況バーが正しく表示され、ファイルが更新されると更新されますが、最後のn行だけが表示されるため、対話的に検索できません。less +F -r file
:進行状況バーは正しく表示されますが、ファイルが変更されても更新されません(少なくとも新しい行が作成されるまで)。vim file
:私が好む方法ですが、進行状況バーがめちゃくちゃでCR文字が表示されます^M
。私はこれが予想されるものだと思います。:%s/\r/\r/g
複数行の「拡張された」進行状況バーを表示するために実行できます。これはデフォルトよりも優れていますが、それほど良いわけではありません。
ターミナルで行われているように、VimにCRを「現在の行の上書き」として解釈させる方法はありますか?これが不可能な場合は、必要に応じて手動で実行する機能を使用して実行できると思います。それでもvimscriptがわからないので役に立ちます。
[編集] ここで提案されたいくつかの方法を試しました。tty 端末出力をプレーンテキストに変換、そしてここUnixユーティリティを使用してプログラムでANSI制御コードをファイルに「書き込み」できますか?、コメントで提案したように幸運ではありません。