Me complace anunciar un nuevo paquete, e2ansi , que proporciona soporte para resaltar la sintaxis para localizadores como more
y less
.
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
y
e2ansi
:
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):
export "LESSOPEN=||-/usr/local/emacs --batch -Q -l ~/.emacs -l bin/e2ansi-cat %s"
export "LESS=-r"
alias "more=less -X -E"
En la configuración anterior, less
restaura el contenido original de la ventana del terminal, mientras que more
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 simplemente
LESSOPEN=|/usr/local/emacs ...
.
Utilizando less
en tuberías
El carácter "-" en LESSOPEN
indica que el filtro de entrada también se debe utilizar al canalizar texto less
. 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 proporcionado
e2ansi-magic.el
configura tipos de archivo adicionales. Por ejemplo:
¿Por qué usar Emacs?
- Emacs tiene soporte para prácticamente todos los lenguajes de programación y formatos de texto estructurados. En la mayoría de los casos, el soporte de resaltado de sintaxis es excelente.
- Puede agregar fácilmente soporte para más idiomas y formatos, o modificar paquetes existentes para satisfacer sus necesidades.
- Emacs admite temas de color. Cuando se utilizan
e2ansi
, los colores en el tema se conserva durante la visualización de un archivo en less
. Puede elegir un tema de color adecuado de varias fuentes o diseñar uno propio.
- Si usa Emacs como su editor de elección, obtendrá el mismo resaltado en el editor que cuando ve un archivo usando
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.
- Puede ver archivos ubicados en otras máquinas utilizando la sintaxis de Emacs para acceso remoto como
/USER@HOST:FILENAME
.
Enlaces útiles
e2ansi
se distribuye en Melpa y se puede instalar utilizando el sistema de paquete estándar de Emacs
e2ansi
está alojado en GitHub
- La
e2ansi
página en el Wiki de Emacs
- El hogar de
less
.
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 de less
MS Windows y los archivos de compilación proporcionados son difíciles de usar. Afortunadamente, es fácil de construir less
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.
less ~/.zshrc
. Error:src-hilite-lesspipe.sh: line 9: source-highlight: command not found
. Ejecuto esto en MacOSX.