ANSIエスケープシーケンスのvimと色:catコマンドで表示されるのと同じ色をvimで表示する方法


8

これが私がやっていることです:私はこのようなPhp色をエコーし​​ています:

シェルカラー

phpは、端末のシェルを介して表示されるときにテキストに色を付けるANSIエスケープシーケンスを含む出力を作成します。phpクラスと説明はここにあります

しかし、出力をファイルに送信してvimでそれを読み取ろうとすると、「色付けされていない」ので、特殊文字が表示されるだけです。シェルに表示されるような色を表示する方法はありますか?


色付きのテキストを使用してファイルを作成する方法とプログラム、および後でそれを表示しようとする方法について言及できれば、役立つかもしれません。
John S Gruber

正確さが足りなかったらごめんなさい。私の質問を引用します。私はPhp を通して エコーしています。すなわち「」と私はここで、このクラスを使用してエコーてる:if-not-true-then-false.com/2010/...をphp -f filename
オリヴィエ・ポンス

回答:


8

ファイルの内容が変更されずに「そのまま」ターミナルに送信される場合、ターミナルの出力は色分けされます。ただし、vimと他の一部のエディターは、テキスト内のメタ文字をエスケープし、代わりに構文の強調表示に他のいくつかのカラーコードを追加するため、これは機能しません。

でファイルを端末にダンプしてみてくださいcat。これでうまくいくはずです。一部のシンプルなエディターやポケットベルlessも機能する場合があります。

編集: vimにすべてのエスケープコードを「パススルー」させる方法は見つけられませんでしたが、エスケープコードを解析し、vim構文の強調表示を使用してカラーコードを再作成するこの vimスクリプトにリンクするこの回答を見つけました出力で。その説明によると、それはあなたが望むものを正確に実行するはずです(しかし、私はそれをテストしていません)。


これをvimで行う方法はありますか(= エスケープしないように正確に)?
Olivier Pons 2012

@OlivierPonsは私の編集を参照
Philipp

以下では機能しませんでしたが、より多くでは機能しました:cat〜/ myfile.txt | 詳細
wranvaud 2016年

そのスクリプトは一種の作品です。それはvimballなので、インストールするには、どこかにgunzipしてから、vim ':source ansi.vba'に入れます。それは多くのエスケープを処理しますが、すべてではありません。
matiu 2017年

0

ASCIエスケープ文字を処理するVimプラグインがあることがわかりました。これは「Ansi Highlighting」と呼ばれます。興味がある場合は、http: //www.drchip.org/astronaut/vim/index.html#ANSIESCにアクセスしてください。

ああ、ANSIESCを解凍するには「Vimballs」を使用する必要があります。

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.