Jak wyświetlić wyróżnianie składni w pliku?


42

Czy istnieje wariant cattego wiersza kodu z zaznaczonymi składniami, gdy jest używany w pliku źródłowym?

Pomysł: może vi[m]lub inny edytor może zostać poproszony o zrzucenie podświetlonej składni zawartości wspomnianych plików stdouti natychmiastowe wyjście?

Odpowiedzi:


48

Przekazanie pliku spróbuje wykryć typ z nazwy pliku i odpowiednio go podświetlić.pygmentize-f terminal


Czy to logo Star Trek: Deep Space Nine w ich logo? Jeśli to jest niesamowite.
amfetamachina

2
Dostępny jako pakiet python-pygmentsw Debianie.
enzotib

6
Okazało alias pcat="pygmentize -f terminal256 -O style=native -g"się, że to dobre rozwiązanie
Mikael Öhman,

1
dostępny również przezpip install pygments
craigb,

1
Tak naprawdę musi być cat code.extension | pygmentize -f terminal -l extension.
fiatjaf

13

Pakiet Source-highlight jest dostarczany z definicją języka wyjściowego esc.outlang, która wyróżnia się sekwencjami ucieczki ANSI.

Poręczne opakowanie src-hilite-lesspipe.shjest również zawarte w pakiecie, więc wyświetlanie podświetlonego wyjścia w terminalu jest po prostu src-hilite-lesspipe.sh source.file.

Właściwie src-hilite-lesspipe.shgłównym powodem jest pomoc w automatyzacji korzystania source-highlightz less. Właśnie ustawiłeś:

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

Następnie dowolny less source.filepokaże podświetlony kod źródłowy. (Kod w nieznanym języku przejdzie niezmieniony. Podświetlanie zostanie również pominięte w przypadku przekierowanych treści, takich jak less < source.file.)


Fajnie, dziękuję za poświęcenie czasu na napisanie tej odpowiedzi
Paolo

3

Podświetlenie jest proste w użyciu i szybsze niżpygmentize


2
Tylko nie zapomnij użyć -O ansi: w przeciwieństwie pygmentize, highlightwyjścia HTML domyślnie.
Ruslan

Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.