¿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?

Paolo
fuente

Respuestas:

48

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

Ignacio Vazquez-Abrams
fuente
¿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).

hombre trabajando
fuente
Agradable, gracias por tomarse el tiempo para escribir esta respuesta
Paolo
3

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

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