¿Cómo puedo mostrar el resaltado de sintaxis en un archivo?


42

¿Existe una variante de catesa salida de líneas de código resaltado de sintaxis cuando se usa en un archivo fuente?

Una idea: vi[m]¿se le puede pedir a otro editor que descargue el contenido resaltado de sintaxis de dichos archivos stdouty salga inmediatamente?

Respuestas:


48

Al pasar el archivo, se intentará detectar el tipo del nombre del archivo y resaltarlo adecuadamente.pygmentize-f terminal


¿Es esa la fuente de Star Trek: Deep Space Nine en su logotipo? Si es así, eso es asombroso.
anfetamaquina

2
Disponible como paquete python-pygmentsen Debian.
enzotib

66
Me pareció alias pcat="pygmentize -f terminal256 -O style=native -g"una buena solución
Mikael Öhman,

1
también disponible víapip install pygments
craigb

1
En realidad debe ser cat code.extension | pygmentize -f terminal -l extension.
fiatjaf

13

El paquete Source-highlight se entrega con la definición del lenguaje de salida esc.outlang, que se destaca con secuencias de escape ANSI.

src-hilite-lesspipe.shTambién se incluye una práctica envoltura en el paquete, por lo que mostrar la salida resaltada en el terminal es justo src-hilite-lesspipe.sh source.file.

En realidad src-hilite-lesspipe.sh, la razón principal es ayudar a automatizar el uso de source-highlightwith less. Acabas de configurar:

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

Luego, cualquiera less source.filemostrará el código fuente resaltado. (El código en un idioma desconocido pasará sin modificaciones. También se omitirá el resaltado en caso de contenido redirigido less < source.file).


Agradable, gracias por tomarse el tiempo para escribir esta respuesta
Paolo

3

Highlight es fácil de usar y más rápido quepygmentize


2
Simplemente no olvide usar -O ansi: a diferencia pygmentize, highlightgenera HTML por defecto.
Ruslan

Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.