vim & warna dari ANSI Escape Sequences: cara menampilkan dalam vim warna yang sama yang ditampilkan dengan perintah cat


8

Inilah yang saya lakukan: Saya menggema melalui warna Php seperti ini:

warna shell

php membuat output yang mengandung urutan pelarian ANSI yang menampilkan teks berwarna ketika ditampilkan melalui shell pada terminal saya. Anda dapat menemukan kelas php dan penjelasannya di sini .

Tetapi jika saya mengirim output saya ke file, dan mencoba untuk membacanya dengan vim itu tidak "berwarna", saya hanya dapat melihat karakter khusus. Apakah ada cara untuk menampilkan warna seperti yang ditampilkan di shell?


Mungkin membantu jika Anda bisa menyebutkan bagaimana dan dengan program apa Anda membuat file dengan teks berwarna, dan bagaimana Anda kemudian mencoba untuk menampilkannya.
John S Gruber

Maaf jika saya tidak cukup tepat. Kutip pertanyaan saya: Saya menggema melalui Php . Yaitu " php -f filename" dan saya bergema menggunakan kelas ini di sini: if-not-true-then-false.com/2010/…
Olivier Pons

Jawaban:


8

Output terminal akan diwarnai jika konten file akan dikirim "apa adanya" ke terminal, tanpa modifikasi apa pun. Namun, vim dan beberapa editor lain akan lolos dari meta karakter dalam teks dan sebagai gantinya mungkin menambahkan beberapa kode warna lain untuk penyorotan sintaksisnya, jadi ini tidak berfungsi.

Cobalah membuang file ke terminal dengan cat, ini harus bekerja. Beberapa editor atau pager seperti lessmungkin juga berfungsi.

Sunting: Saya belum menemukan cara untuk membiarkan vim "pass-through" semua kode escape, tetapi saya telah menemukan jawaban ini yang menghubungkan ke skrip vim ini, yang mem-parsing kode escape dan menggunakan sintaks vim highlighting untuk membuat ulang kode warna dalam output. Menurut deskripsinya, itu harus melakukan apa yang Anda inginkan (tapi saya belum mengujinya).


Apakah ada cara untuk melakukan ini dengan vim (= tepat untuk tidak melarikan diri)?
Olivier Pons

@OlivierPons lihat hasil edit saya
Philipp Wendler

Itu tidak bekerja dengan lebih sedikit tetapi bekerja dengan lebih banyak: cat ~ / myfile.txt | lebih
wranvaud

Script semacam itu berfungsi. Ini adalah vimball, jadi untuk menginstalnya, tembak di suatu tempat, lalu di vim ': source ansi.vba'. Ini menangani banyak pelarian tetapi tidak semua - Solusi lain adalah 'kurang -R nama file'.
matiu

Dengan menggunakan situs kami, Anda mengakui telah membaca dan memahami Kebijakan Cookie dan Kebijakan Privasi kami.
Licensed under cc by-sa 3.0 with attribution required.