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-highlight
combinado conless -R
esto. Agregue las siguientes líneas al archivo de inicialización de su shell (~/.bashrc
por ejemplo):Eso debería colorear automáticamente el código fuente de acuerdo con el idioma utilizado y, si no puede, se iniciará
less
directamente en su entrada.fuente
Si está interesado en los colores en
less
general, 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.sh
es 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
less
sugiero echar un vistazo a esta páginafuente
De acuerdo con la sugerencia de Stéphane Chazelas , hago una función bash para usar
highlight
show 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
more
yless
.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
less
ye2ansi
:Configuración
El paquete proporciona una herramienta de línea de comandos
e2ansi-cat
que inicia Emacs en modo por lotes, abre archivos, la sintaxis los resalta y representa el resultado usando secuencias ANSI.Puede integrar esto
less
configurando las siguientes variables, por ejemplo (la ubicación de su archivo init puede variar):En la configuración anterior,
less
restaura el contenido original de la ventana del terminal, mientras quemore
simplemente 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
less
en tuberíasEl carácter "-" en
LESSOPEN
indica 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.el
configura 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).less
aprovechará 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
e2ansi
se distribuye en Melpa y se puede instalar utilizando el sistema de paquete estándar de Emacse2ansi
está alojado en GitHube2ansi
página en el Wiki de Emacsless
.Notas del sistema operativo
En MS Windows, la consola no admite de forma nativa secuencias ANSI. Afortunadamente, la
less
aplicación es capaz de representarlos. No conozco ninguna distribución binaria contemporánea deless
MS Windows y los archivos de compilación proporcionados son difíciles de usar. Afortunadamente, es fácil de construirless
usando 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
lessfilter
script a continuación, o puedeless
invocarlo automáticamente como con:Encontré este artículo y comencé a hacerlo de esta manera:
(
src-hilite-lesspipe.sh
se envía consource-highlight
pero no todas las distribuciones lo incluyen)fuente
export
define una variable de entorno, no un alias. El comandoless
usa indicadores de la variable de entornoLESS
, por lo que su respuesta necesita algo de trabajo.