Bir dosyayı vurgulayarak sözdizimini nasıl gösterebilirim?


42

catKaynak dosyada kullanıldığında sözdizimi vurgulanmış kod satırları çıktısı varyantı var mı ?

Bir fikir: belki vi[m]ya da başka bir editörden söz konusu dosyaların sözdizimi ile vurgulanan içeriğini stdoutderhal terk etmesi ve çıkması istenebilir mi?

Yanıtlar:


48

Dosyayı geçmek, dosya adındaki türü algılamaya ve uygun şekilde vurgulamaya çalışır.pygmentize-f terminal


Bu, Star Trek: Deep Space Nine'ın logosundaki yazı tipi mi? Eğer bu harika.
amfetamachine

2
python-pygmentsDebian'da paket olarak bulunmaktadır.
enzotib

6
alias pcat="pygmentize -f terminal256 -O style=native -g"Güzel bir çözüm buldum
Mikael Öhman

1
ayrıca şu adresten de erişilebilirpip install pygments
craigb 8/13

1
Aslında öyle olmalı cat code.extension | pygmentize -f terminal -l extension.
fiatjaf

13

Kaynak-vurgulamak paket hangi ANSI çıkış sıralarını olayları esc.outlang çıkış dil tanımı ile sevk edilir.

src-hilite-lesspipe.shPakete kullanışlı bir sarmalayıcı da eklenmiştir, bu yüzden terminalde vurgulanan çıktıların görüntülenmesi tam anlamıyla geçerlidir src-hilite-lesspipe.sh source.file.

Aslında src-hilite-lesspipe.sh'ın başlıca nedeni kullanımını otomatik hale yardımı sağlamaktır source-highlightile less. Siz sadece ayarladınız:

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

Ardından herhangi biri less source.filevurgulanan kaynak kodunu gösterecektir. (Bilinmeyen bir dilde kod değişmeden geçecektir. Yeniden yönlendirilmiş içeriğin olması durumunda vurgulama da atlanacaktır less < source.file.)


Güzel, bu cevabı yazmaya zaman ayırdığınız için teşekkür ederim
Paolo

3

Vurgulamak , kullanımı basit ve daha hızlıdır.pygmentize


2
Sadece kullanmayı unutma -O ansi: aksine pygmentize, highlightHTML varsayılan olarak çıktılar.
Ruslan

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.