Je suis heureux d'annoncer un nouveau package, e2ansi , qui fournit un support de mise en évidence de la syntaxe pour les pagers tels que moreet less.
Le paquet utilise la mère de tous les éditeurs de texte, Emacs , pour effectuer la mise en évidence de la syntaxe. En prime, toutes les autres conversions normalement effectuées par Emacs, telles que la décompression de fichiers, sont également effectuées.
Exemple
Voici le résultat de l'affichage d'un fichier à l'aide de lesset
e2ansi:

Configuration
Le package fournit un outil de ligne de commande e2ansi-catqui démarre Emacs en mode de traitement par lots, ouvre les fichiers, les met en évidence par la syntaxe et affiche le résultat à l'aide de séquences ANSI.
Vous pouvez intégrer cela en lessdéfinissant, par exemple, les variables suivantes (l'emplacement de votre fichier init peut varier):
export "LESSOPEN=||-/usr/local/emacs --batch -Q -l ~/.emacs -l bin/e2ansi-cat %s"
export "LESS=-r"
alias "more=less -X -E"
Dans la configuration ci-dessus, lessrestaure le contenu de la fenêtre de terminal d'origine alors moreque le nouveau contenu est simplement généré après l'invite.
Remarque: Si vous utilisez une ancienne version de less, il se peut que celle-ci ne prenne pas en charge la
||ou la -syntaxe, auquel cas vous devrez peut-être utiliser simplement
LESSOPEN=|/usr/local/emacs ....
Utilisation lessdans des tuyaux
Le caractère "-" LESSOPENindique que le filtre d'entrée doit également être utilisé lors de l'ajout de texte less. Dans ce cas, Emacs ne peut compter que sur le texte lui-même (et non sur un nom de fichier). Heureusement, Emacs fournit un système pour cela. De plus, le fichier de fichier fourni
e2ansi-magic.elconfigure des types de fichiers supplémentaires. Par exemple:

Pourquoi utiliser Emacs?
- Emacs prend en charge pratiquement tous les langages de programmation et les formats de texte structuré. Dans la plupart des cas, la prise en charge de la syntaxe est excellente.
- Vous pouvez facilement ajouter un support pour plus de langues et de formats, ou modifier des packages existants pour répondre à vos besoins.
- Emacs supporte les thèmes de couleurs. Lors de l'utilisation
e2ansi, les couleurs du thème sont préservées lors de la visualisation d'un fichier au format less. Vous pouvez choisir un thème de couleur approprié dans un certain nombre de sources ou concevoir le vôtre.
- Si vous utilisez Emacs comme éditeur de choix, vous obtiendrez la même surbrillance dans l'éditeur que lorsque vous visualisez un fichier en utilisant
less(limitations moins en format de séquence ANSI et dans la fenêtre du terminal).
lesstirera parti des fonctionnalités d’Emacs qui effectuent la conversion automatique, par exemple la décompression de fichiers. En fait, vous pouvez apprendre à Emacs à effectuer tout type de conversion, comme la conversion automatique d'un fichier binaire en forme lisible par un humain à l'aide d'un outil externe.
- Vous pouvez afficher les fichiers situés sur d'autres machines à l'aide de la syntaxe d'Emacs pour l'accès à distance, par exemple
/USER@HOST:FILENAME.
Liens utiles
e2ansiest distribué sur Melpa et peut être installé à l'aide du système de package Emacs standard
e2ansiest hébergé sur GitHub
- La
e2ansipage sur le wiki d'Emacs
- La maison de
less.
Notes sur le système d'exploitation
Sur MS Windows, la console ne prend pas nativement en charge les séquences ANSI. Heureusement, l' lessapplication est capable de les rendre. Je ne suis au courant d'aucune distribution binaire contemporaine de lessMS Windows et les fichiers de construction fournis sont difficiles à utiliser. Heureusement, il est facile de construire lessavec CMake , voir ce texte pour plus de détails.
OS X distribue une version ancienne de less. Heureusement, il est facile de créer une version moderne directement à partir du code source.
less ~/.zshrc. Erreur:src-hilite-lesspipe.sh: line 9: source-highlight: command not found. Je lance ceci sur MacOSX.