Muchos editores orientados a la programación colorearán el código fuente. ¿Hay un comando que coloreará el código fuente para verlo en la terminal?
Podría abrir un archivo con emacs -nw(que se abre en la terminal en lugar de aparecer una nueva ventana), pero estoy buscando algo que obras como less(o que las obras con less -R , los cuales pasan a través de secuencias de escape de color en su entrada).
fuente

Yo uso GNU
source-highlightcombinado conless -Resto. Agregue las siguientes líneas al archivo de inicialización de su shell (~/.bashrcpor ejemplo):Eso debería colorear automáticamente el código fuente de acuerdo con el idioma utilizado y, si no puede, se iniciará
lessdirectamente en su entrada.fuente
Si está interesado en los colores en
lessgeneral, es posible que desee mirarlesspipe.sh. Ver, por ejemplo, http://freecode.com/projects/lesspipe .También coloreará los scripts de shell, scripts de Perl, etc. de manera similar a un editor de texto, pero sin el uso de ningún programa de "preprocesamiento" para colorear.
fuente
lesspipe.shes lo que estaba tratando de recordar antes de publicar la pregunta ...Disfruto de la simplicidad y uso el editor de texto nano, en este caso, generalmente procedo de la siguiente manera:
comprobar que la sintaxis de brujas está disponible:
ls -la /usr/share/nano/incluirlo en mi archivo nanorc con el siguiente comando, o haciéndolo manualmente
sobre
lesssugiero echar un vistazo a esta páginafuente
De acuerdo con la sugerencia de Stéphane Chazelas , hago una función bash para usar
highlightshow Syntax resaltar, ponerlo en .bashrc, etc. Funciona muy bien, rápido y efectivo.resalte el soporte del formato de sintaxis de 202 idiomas . ver
highlight --list-scripts=langs.fuente
Puede usar el paquete, e2ansi , que proporciona soporte de resaltado de sintaxis para localizadores como
moreyless.El paquete utiliza la madre de todos los editores de texto, Emacs , para realizar el resaltado de sintaxis real. Como beneficio adicional, también se realizan todas las demás conversiones que normalmente realiza Emacs, como descomprimir archivos.
Ejemplo
El siguiente es el resultado de ver un archivo usando
lessye2ansi:Configuración
El paquete proporciona una herramienta de línea de comandos
e2ansi-catque inicia Emacs en modo por lotes, abre archivos, la sintaxis los resalta y representa el resultado usando secuencias ANSI.Puede integrar esto
lessconfigurando las siguientes variables, por ejemplo (la ubicación de su archivo init puede variar):En la configuración anterior,
lessrestaura el contenido original de la ventana del terminal, mientras quemoresimplemente genera contenido nuevo después de la solicitud.Nota: Si usa una versión anterior de
less, es posible que no sea compatible con||la-sintaxis o , en cuyo caso es posible que deba usarla simplementeLESSOPEN=|/usr/local/emacs ....Utilizando
lessen tuberíasEl carácter "-" en
LESSOPENindica que el filtro de entrada también se debe utilizar al canalizar textoless. En este caso, Emacs solo puede confiar en el texto mismo (y no en un nombre de archivo). Afortunadamente, Emacs proporciona un sistema para esto. Además, el archivo de archivo proporcionadoe2ansi-magic.elconfigura tipos de archivo adicionales. Por ejemplo:¿Por qué usar Emacs?
e2ansi, los colores en el tema se conservan al ver un archivoless. Puede elegir un tema de color adecuado de varias fuentes o diseñar uno propio.less(menos las limitaciones en el formato de secuencia ANSI y la ventana de terminal).lessaprovechará las características de Emacs que realizan la conversión automática, por ejemplo, descomprimir archivos. De hecho, puede enseñarle a Emacs a realizar cualquier tipo de conversión, como convertir automáticamente un archivo binario a una forma legible por humanos utilizando una herramienta externa./USER@HOST:FILENAME.Enlaces útiles
e2ansise distribuye en Melpa y se puede instalar utilizando el sistema de paquete estándar de Emacse2ansiestá alojado en GitHube2ansipágina en el Wiki de Emacsless.Notas del sistema operativo
En MS Windows, la consola no admite de forma nativa secuencias ANSI. Afortunadamente, la
lessaplicación es capaz de representarlos. No conozco ninguna distribución binaria contemporánea delessMS Windows y los archivos de compilación proporcionados son difíciles de usar. Afortunadamente, es fácil de construirlessusando CMake , vea este texto para más detalles.OS X distribuye una versión antigua de
less. Afortunadamente, es fácil construir una versión moderna directamente desde la fuente.fuente
Se llama resaltado de sintaxis.
Fuente destacada GNU cuando se le da un archivo fuente, produce un documento con resaltado de sintaxis.
Utilizo el
lessfilterscript a continuación, o puedelessinvocarlo automáticamente como con:Encontré este artículo y comencé a hacerlo de esta manera:
(
src-hilite-lesspipe.shse envía consource-highlightpero no todas las distribuciones lo incluyen)fuente
exportdefine una variable de entorno, no un alias. El comandolessusa indicadores de la variable de entornoLESS, por lo que su respuesta necesita algo de trabajo.