私がやっていることは次のとおりです:私はこのようなPHPの色を通してエコーしています:
phpは、端末のシェルを介して表示されるときにテキストに色を付けるANSIエスケープシーケンスを含む出力を作成します。 phpクラスと説明を見つけることができます こちら 。
しかし、出力をファイルに送信し、vimでそれを読み取ろうとすると、「色付き」ではなく、特殊文字が表示されるだけです。シェルに表示されるように色を表示する方法はありますか?
ファイルの内容が変更なしで「そのまま」端末に送信される場合、端末出力は色付けされます。ただし、vimおよび他の一部のエディターはテキスト内のメタ文字をエスケープし、代わりに構文の強調表示に他の色コードを追加する場合があるため、これは機能しません。
cat
でファイルを端末にダンプしてみてください、これは動作するはずです。 less
のようないくつかの単純なエディターまたはページャーも機能する場合があります。
Edit:vimにすべてのエスケープコードを「パススルー」させる方法が見つかりませんでしたしかし、私は この回答 これにリンクする vimスクリプト を見つけました。これはエスケープコードを解析し、vim構文の強調表示を使用して出力のカラーコードを再作成します。その説明によれば、それはあなたが望むことを正確に行う必要があります(しかし、私はそれをテストしていません)。
ASCIエスケープ文字を処理するVimプラグインがあることがわかりました。 「Ansi Highlighting」と呼ばれます。興味がある場合は、 http://www.drchip.org/astronaut/vim/index.html#ANSIESC にアクセスしてください。
ああ、あなたは「Vimballs」を使ってANSIESCを開梱する必要があります。