Bagaimana saya bisa menampilkan highlight sintaks pada file?


42

Apakah ada varian catyang garis sintaks-disorot output kode bila digunakan pada file source?

Sebuah ide: mungkin vi[m]atau editor lain dapat diminta untuk membuang isi file yang disorot sintaks ke stdoutdan segera keluar?

Jawaban:


48

Melewati file akan berusaha mendeteksi tipe dari nama file dan menyorotnya dengan tepat.pygmentize-f terminal


Apakah itu font Star Trek: Deep Space Nine dalam logo mereka? Jika itu luar biasa.
amphetamachine

2
Tersedia sebagai paket python-pygmentsdi Debian.
enzotib

6
Saya menemukan alias pcat="pygmentize -f terminal256 -O style=native -g"solusi yang bagus
Mikael Öhman

1
juga tersedia melaluipip install pygments
craigb

1
Sebenarnya harus begitu cat code.extension | pygmentize -f terminal -l extension.
fiatjaf

13

Paket Source-highlight dikirim dengan definisi bahasa keluaran esc.outlang, yang menyoroti dengan urutan pelarian ANSI.

Pembungkus praktis src-hilite-lesspipe.shjuga termasuk dalam paket, sehingga menampilkan output yang disorot di terminal itu adil src-hilite-lesspipe.sh source.file.

Sebenarnya src-hilite-lesspipe.shalasan utama adalah untuk membantu mengotomatisasi penggunaan source-highlightdengan less. Anda baru saja mengatur:

export LESSOPEN="| /path/to/src-hilite-lesspipe.sh %s"
export LESS=' -R '

Maka semua less source.fileakan menunjukkan kode sumber yang disorot. (Kode dalam bahasa yang tidak dikenal akan melewati tidak diubah. Menyoroti juga akan dilewati jika konten diarahkan, seperti less < source.file.)


Bagus, terima kasih telah meluangkan waktu untuk menulis jawaban ini
Paolo

3

Sorot mudah digunakan dan lebih cepat daripygmentize


2
Hanya saja, jangan lupa untuk menggunakan -O ansi: tidak seperti pygmentize, highlightoutput HTML secara default.
Ruslan

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.