Le titre de cette question est très trompeur. Beaucoup de gens débarquant sur cette page attendent une solution à la question de la coloration que vous obtenez lorsque la tuyauterie d' une commande avec une sortie colorée pour less: les couleurs sont perdues. (Les réponses à cette «question de tuyauterie» impliquent less -R, unbufferetc.) Mais la question même concerne l' ouverture d'un fichier ! - L'ambiguïté réside principalement dans le titre de la question, mais même à part cela, à mon humble avis, la question est encore trop large: «lire un fichier» pourrait faire référence à n'importe quel fichier (probablement du texte brut). (eh bien, "obtenez le contenu en couleurs" fait probablement référence à la coloration syntaxique.)
myrdd
Je dois me corriger, il ne manque que 3 (ou 4) réponses sur 14 à la question du PO: les réponses de ChristopheD , Puneet et Onlyjob ; et peut-être jbbr . Pourtant, deux de ces réponses font partie des trois réponses les plus votées.
Myrdd
@myrdd "la coloration syntaxique" est le terme pertinent alors ... (il demande d'afficher des couleurs, de ne pas en ajouter?) less -Rfonctionne également sur les fichiers, par exemplels --color=always > /tmp/file && less -R /tmp/file
Gert van den Berg du
1
@myrdd Il serait peut-être logique de clore la question car "ce qui est demandé est difficile à déterminer", car les questions posées à l'une ou l'autre seront probablement marquées comme des doublons de cette ... (et les réponses de l'une ou l'autre peuvent être rejetées en fonction de la façon dont l'électeur l'interprète ...) (Mon cas d'utilisation était un fichier journal qui contient (de manière agaçante) des codes d'échappement de couleur)
Gert van den Berg
Réponses:
149
Vous pouvez utiliser la puissance de pygmentize avec moins - automatiquement! (Pas besoin de pipe à la main.)
Installez-le pygmentsavec votre gestionnaire de paquets ou votre pip (éventuellement appelé python-pygments) ou téléchargez-le ici http://pygments.org/download/ .
Écrire un fichier ~/.lessfilter
#!/bin/sh
case "$1" in
*.awk|*.groff|*.java|*.js|*.m4|*.php|*.pl|*.pm|*.pod|*.sh|\
*.ad[asb]|*.asm|*.inc|*.[ch]|*.[ch]pp|*.[ch]xx|*.cc|*.hh|\
*.lsp|*.l|*.pas|*.p|*.xml|*.xps|*.xsl|*.axp|*.ppd|*.pov|\
*.diff|*.patch|*.py|*.rb|*.sql|*.ebuild|*.eclass)
pygmentize -f 256 "$1";;
.bashrc|.bash_aliases|.bash_environment)
pygmentize -f 256 -l sh "$1";;
*)
if grep -q "#\!/bin/bash" "$1" 2> /dev/null; then
pygmentize -f 256 -l sh "$1"
else
exit 1
fi
esac
exit 0
En outre, vous devez rendre ~/.lessfilterexécutable en exécutant
chmod u+x ~/.lessfilter
Testé sur Debian.
Vous avez eu l'idée. Cela peut bien entendu être encore amélioré, en acceptant plus d'extensions ou en analysant le shebang pour d'autres interprètes que bash. Voir certaines des autres réponses pour cela.
L'idée est venue d'un ancien billet de blog des fabricants de Pygments , mais le message original n'existe plus.
Si vous souhaitez que les fichiers de code source soient coloriés, vous devez également rendre ~ / .lessfilter exécutable en exécutant chmod u+x ~/.lessfilter. Vous devez également avoir installé pygmentize ( pygments.org/download ).
Sergiy Belozorov
Quelqu'un peut-il confirmer que cela fonctionne car il n'a aucun effet pour moi lorsque j'exécute une commande commels -l | less
puk
7
@puk vous pouvez faire quelque chose comme ls --color=always -l | less -R. De toute évidence, il y a beaucoup de choses à taper mais vous pouvez le nommer à quelque chose comme ll. Si vous ne voulez pas utiliser de bibliothèques supplémentaires.
PhilT
2
ajout du commentaire de SergiyByelozyorov dans la réponse.
Andrybak
2
Ma modification a été rejetée. J'imagine donc que je la posterai sous forme de commentaire: Ne testez pas les codes de sortie des commandes indirectement. Vous pouvez utiliser if grep -q "#\!/bin/bash" "$1"(la -qsortie standard est supprimée). Vous voudrez peut-être rediriger l'erreur standard avec 2>/dev/null.
Tom Fenech
503
Essayez ce qui suit:
less -R
de man less:
-r ou --raw-control-chars
Provoque l'affichage de caractères de contrôle "bruts". (...)
-R ou --RAW-CONTROL-CHARS
Comme -r, mais seules les séquences d'échappement "couleur" ANSI sont générées sous forme "brute". (...)
Ceci est utile lorsque le fichier lui-même contient les codes d'échappement à afficher.
Nitrodist
1
J'avais l'habitude de connaître less -r mais la recherche dans le fichier à l'aide de "/" n'arrêtait pas de faire apparaître les mauvaises lignes. -R semble faire un meilleur travail. Merci pour le conseil.
Amos Shapira
54
Il convient de noter que la plupart des programmes utilisent l'appel isatty(2)système pour vérifier si leur sortie standard est un terminal et désactivent généralement la sortie colorisée si ce n'est pas le cas. Pour tout tuyau de moins, isattyretournera 0. Pour vérifier si cela fonctionne, essayezecho -e '\x1b[32;1mtest\x1b[m' | less -r
mic_e 24/09
11
Cette réponse n’excelle pas dans le test fait quelque chose.
Michael Wolf
18
Vous pouvez également taper -Rquand vous l'avez déjà ouvert lesspour y parvenir.
Lorsque vous l'exécutez simplement, grep --colorcela implique de grep --color=autosavoir si la sortie est un terminal et, le cas échéant, d'activer les couleurs. Cependant, lorsqu'il détecte un tuyau, il désactive la coloration. La commande suivante:
grep --color=always "search string" * | less -R
Permettra toujours d'activer la coloration et d'ignorer la détection automatique, et la coloration en surbrillance sera réduite.
Attention: ne mettez pas --color=alwayscomme alias, ça casse parfois. C'est pourquoi il y a une --color=autooption.
Nice, merci Sauf que je dois utiliser -Rcomme une option à less, aussi bien.
naught101
10
Je crois que grep -Rc'est pour spécifier la recherche récursive. less -Rest nécessaire pour que lessles couleurs soient correctement recrachées. grep --color=always [grep cmds] | less -Rfonctionne pour moi sur OS X 10.7.3!
Steven Lu
@ naught101 @ Steven Lu Edited in, bien qu'il semble que certaines personnes n'aient pas besoin de l'utiliser less -R(selon l'auteur du message original, en tout cas).
jtpereyda
2
Est-il possible de laisser grep savoir qu'il suffit de diriger la commande less -R et de colorier? Nous n’avons donc pas besoin de mettre - color = toujours et moins -R tout le temps.
A-letubby
1
C'est de loin la réponse la plus simple. Merci!
Danny Staple
37
Utilisez viewau lieu de less. Il ouvre le fichier vimen mode lecture seule.
C'est pratiquement une couleur less: un pager où vous pouvez chercher avec /(et plus). Le seul inconvénient est que vous ne pouvez pas sortir avec qmais vous avez besoin:q
En outre, vous obtenez la même couleur que vim(puisque vous utilisez en fait vim).
Qu'en est-il des performances des gros fichiers? La mise en évidence de la syntaxe Vim est connue pour être lente sur les gros fichiers.
pihentagy
Je ne sais pas quelle est votre valeur pour "grand", mais ouvrir un fichier de 10000 lignes est instantané, la recherche à l'intérieur est incluse.
Riccardo Galli
1
J'ai voté (je ne le savais pas view) mais un autre inconvénient est que j / k / haut / bas ne défile pas instantanément, car il y a un curseur.
Tyler Collier
7
Notez que vous devrez peut-être ajouter view -lors de la tuyauterie
user45909
6
vimest un éditeur qui charge le fichier complet en mémoire, alors lessqu’un pageur ne charge que partiellement le fichier en mémoire. Vous saurez la différence avec d'énormes fichiers.
jeudi
16
Pour en dire moins pour afficher les couleurs, appelez-le avec -R:
less -R
Malheureusement, certains programmes détectent que leur sortie standard n’est pas un terminal et désactivent les couleurs - par exemple, pacman (gestionnaire de paquets Arch Linux).
Dans ces cas, il est possible d'utiliser unbuffer:
unbuffer <command> | less -R
Exemple d'utilisation de pacman
unbuffer pacman -Ss firefox | less -R
La unbuffercommande fait généralement partie du paquet expect(Arch Linux, Debian / Ubuntu) ou expect-dev(versions anciennes de Debian / Ubuntu).
Pour répondre à la question de manière complète:
Comme d’autres ont déjà répondu, pygmentizec’est excellent pour coloriser le code source. Cela ne nécessite pas unbuffer. Appel le plus facile:
Pour utiliser unbuffersur Ubuntu,sudo apt install expect
wisbucky
Cette réponse nécessite plus de votes positifs.
Thomas Dignan
J'essayais de canaliser la sortie de dmesg pour vérifier les erreurs d'amorçage, mais les couleurs ne fonctionnaient pas si je n'utilisais pas tampon, ce qui déroutait complètement: unbuffer dmesg | less -Rfonctionne comme prévu.
pbhj
15
pygmentizesupporte l' -goption de deviner automatiquement le lexer à utiliser, ce qui est utile pour les fichiers lus STDINsans vérifier le type d'extension.
Avec cela, il vous suffit de définir les 2 exportations suivantes dans votre .bashrcsans scripts supplémentaires:
Concis et efficace Je préfère définir un alias, car parfois, moins c'est mieux. Donc: alias lesc = 'LESS = "- R" LESSOPEN = "| pygmentize -g% s" less "
Tiago le
9
Vous n'avez pas précisé le sens de cette couleur, par exemple, quelles devraient être les couleurs d'un fichier texte?
Si ce que vous voulez, c'est la coloration syntaxique du code source, vous avez besoin d'un surligneur de code source. J'utilise parfois pygmentize comme ça
pygmentize file.cpp | less
ou
pygmentize file.cpp | more
Il y a d'autres surligneurs autour.
C'est assez rapide. Si cela ne vous dérange pas de vous lancer, vimil existe un mode en lecture seule qui peut vous donner la coloration syntaxique si vous l'avez vim.
Si vous ne voyez aucun des programmes référencés ici, assurez-vous qu’il lesspipeest installé (la plupart des distributions viennent avec).
Ajouter ce qui suit à ~/.bashrc:
# sets LESSOPEN and LESSCLOSE variableseval"$(SHELL=/bin/sh lesspipe)"# interpret color characters
export LESS='-R'# to list available styles: `pygmentize -L styles`
export PYGMENTIZE_STYLE='paraiso-dark'# optional
alias ls='ls --color=always'
alias grep='grep --color=always'
Si vous ne voulez pas lesspipe, remplacez la evaldéclaration par:
export LESSOPEN='|~/.lessfilter %s'
Créer ~/.lessfilter
Ajoutez le code suivant et rendez le fichier exécutable: chmod u+x ~/.lessfilter
Le seul inconvénient de cette approche est que Pygments est un programme Python, et ainsi de suite lors de la première utilisation lors d’une session shell, il existe un délai de «démarrage à froid». Les invocations suivantes sont beaucoup plus rapides.
Joe Coder
Agréable! Vraiment complet.
Dario Seidl
4
Utilisez la source GNU en surbrillance ; vous pouvez l'installer avec aptsi vous en avez un ou l'installer de la source. Ensuite, configurez un "préprocesseur d'entrée" pour moins, avec l'aide des documentations Source-highligh 'pour configurer avec moins :
Cela a été suggéré par Konstantine Serebriany. Le script src-hilite-lesspipe.sh sera installé avec source-highlight. Vous pouvez utiliser les variables d'environnement suivantes:
De cette façon, lorsque vous utilisez moins pour parcourir un fichier, s’il s’agit d’un fichier source géré par la source en surbrillance, il est automatiquement mis en surbrillance.
Xavier-Emmanuel Vincent a récemment fourni une version alternative du jeu de couleurs ANSI, esc256.style: certains terminaux peuvent gérer 256 couleurs. Xavier a également fourni un script qui vérifie le nombre de couleurs que votre terminal peut gérer et utilise le cas échéant la variante 256. Le script s'appelle source-highlight-esc.sh et sera installé avec les autres fichiers binaires.
Pour développer une autre réponse, vous pouvez faire en sorte que cela fonctionne pour la plupart, sinon tous, de vos scripts sans extension en modifiant légèrement le fichier .lessfilter:
#!/bin/sh
case "$1" in
*.awk|*.groff|*.java|*.js|*.m4|*.php|*.pl|*.pm|*.pod|*.sh|\
*.ad[asb]|*.asm|*.inc|*.[ch]|*.[ch]pp|*.[ch]xx|*.cc|*.hh|\
*.lsp|*.l|*.pas|*.p|*.xml|*.xps|*.xsl|*.axp|*.ppd|*.pov|\
*.diff|*.patch|*.py|*.rb|*.sql|*.ebuild|*.eclass)
pygmentize -f 256 "$1";;
.bashrc|.bash_aliases|.bash_environment)
pygmentize -f 256 -l sh "$1"
;;
*)
scriptExec=$(head -1 "$1" |grep "^#\!" |awk -F" " '{print $1}')
scriptExecStatus=$?
if [ "$scriptExecStatus" -eq "0" ]; then
lexer=$(echo $scriptExec |awk -F/ '{print $NF}')
pygmentize -f 256 -l $lexer "$1"
else
exit 1
fi
esac
exit 0
Vous devez toujours ajouter les deux variables à .bashrc:
Et vous aurez toujours besoin de rendre .lessfilter exécutable:
$ chmod 700 ~/.lessfilter
Aussi, je voulais ajouter que, sous debian, le paquet pygments s'appelle python-pygments. J'ai eu du mal à le localiser au début parce que l'orthographe évidente de "pigments" en tant que "pygments" ne me laissait pas croire qu'il s'agissait d'un paquet pouvant être préfixé par "python" par le gestionnaire de paquets.
2 commentaires: 1) Merci pour l'amélioration. 2) Des phrases comme "voté meilleure réponse" ne sont pas géniales; cela pourrait changer (en fait, si cela vaut mieux que cette réponse, cet article pourrait devenir la meilleure réponse. À ce moment-là, il sera simplement déroutant. Peut-être simplement dire "pour développer une autre réponse" ou "la réponse de capitanecom"?
cpast
2
Vous pouvez envisager d'utiliser un mostutilitaire qui constitue une alternative aux couleurs respectives pour lesset more.
pouvez-vous nous montrer un exemple? J'ai essayé ici et la sortie était en noir et blanc.
danilo
Votre entrée doit contenir des couleurs. Produire d' abord un échantillon Colorised (par exemple ccze -A </var/log/dpkg.log, ls -1 --color /var/log) puis conduit à most: ls -1 --color /var/log | most.
Onlyjob
oui, je: git status | less --color,git status | most --color
danilo
J'ai utilisé le plus, le plus, le moins et tous les outils sont noir et blanc
danilo
Assurez-vous que votre commande produit des couleurs avant de créer un lien vers lessou vers d’ autres. Assurez-vous que votre émulateur de terminal peut imprimer des couleurs. Vérifiez TERMla variable d'environnement. Lisez-en plus sur unix.stackexchange.com/questions/148/… Si possible, utilisez une distribution GNU + Linux moderne comme Debian . Utilisez le moteur de recherche (par exemple, duckduckgo.com startpage.com ) pour trouver des réponses. Rappelez-vous que les commentaires ne sont pas pour la discussion.
J'ai trouvé cette solution simple et élégante. Vous n'avez pas à installer quoi que ce soit de plus car il est déjà présent par défaut sur la plupart des machines. Comme il vimest installé par défaut sur la plupart des machines, il inclut une macro à exécuter de la manière suivante vim:less
Certaines des options pour l'utiliser consistent à créer un alias:
alias vless='vim -u /usr/share/vim/vim74/macros/less.vim'
ou créer un lien symbolique:
ln -s /usr/share/vim/vim74/macros/less.sh ~/bin/vless
J'ai alias lesser='/usr/share/vim/vim80/macros/less.sh'dans ~/bash_aliases(dans Ubuntu 18.04). Peut utiliser des raccourcis tels que f forward, b backward, d half down, u half up, q stop, etc ...
Daniel
0
La solution la plus intuitive et la plus simple pour moi consistait à pygmentize
ajouter les lignes ci-dessous à .bashrc
less
: les couleurs sont perdues. (Les réponses à cette «question de tuyauterie» impliquentless -R
,unbuffer
etc.) Mais la question même concerne l' ouverture d'un fichier ! - L'ambiguïté réside principalement dans le titre de la question, mais même à part cela, à mon humble avis, la question est encore trop large: «lire un fichier» pourrait faire référence à n'importe quel fichier (probablement du texte brut). (eh bien, "obtenez le contenu en couleurs" fait probablement référence à la coloration syntaxique.)less -R
fonctionne également sur les fichiers, par exemplels --color=always > /tmp/file && less -R /tmp/file
Réponses:
Vous pouvez utiliser la puissance de pygmentize avec moins - automatiquement! (Pas besoin de pipe à la main.)
Installez-le
pygments
avec votre gestionnaire de paquets ou votre pip (éventuellement appelépython-pygments
) ou téléchargez-le ici http://pygments.org/download/ .Écrire un fichier
~/.lessfilter
Dans votre
.bashrc
ajouterEn outre, vous devez rendre
~/.lessfilter
exécutable en exécutantTesté sur Debian.
Vous avez eu l'idée. Cela peut bien entendu être encore amélioré, en acceptant plus d'extensions ou en analysant le shebang pour d'autres interprètes que bash. Voir certaines des autres réponses pour cela.
L'idée est venue d'un ancien billet de blog des fabricants de Pygments , mais le message original n'existe plus.
la source
chmod u+x ~/.lessfilter
. Vous devez également avoir installé pygmentize ( pygments.org/download ).ls -l | less
ls --color=always -l | less -R
. De toute évidence, il y a beaucoup de choses à taper mais vous pouvez le nommer à quelque chose commell
. Si vous ne voulez pas utiliser de bibliothèques supplémentaires.if grep -q "#\!/bin/bash" "$1"
(la-q
sortie standard est supprimée). Vous voudrez peut-être rediriger l'erreur standard avec2>/dev/null
.Essayez ce qui suit:
de
man less
:la source
isatty(2)
système pour vérifier si leur sortie standard est un terminal et désactivent généralement la sortie colorisée si ce n'est pas le cas. Pour tout tuyau de moins,isatty
retournera 0. Pour vérifier si cela fonctionne, essayezecho -e '\x1b[32;1mtest\x1b[m' | less -r
-R
quand vous l'avez déjà ouvertless
pour y parvenir.J'ai eu la réponse dans un autre post: Less et Grep: Obtenir des résultats colorés lors de l'utilisation d'un tuyau de grep à less
Attention: ne mettez pas
--color=always
comme alias, ça casse parfois. C'est pourquoi il y a une--color=auto
option.la source
-R
comme une option àless
, aussi bien.grep -R
c'est pour spécifier la recherche récursive.less -R
est nécessaire pour queless
les couleurs soient correctement recrachées.grep --color=always [grep cmds] | less -R
fonctionne pour moi sur OS X 10.7.3!less -R
(selon l'auteur du message original, en tout cas).Utilisez
view
au lieu deless
. Il ouvre le fichiervim
en mode lecture seule.C'est pratiquement une couleur
less
: un pager où vous pouvez chercher avec /(et plus). Le seul inconvénient est que vous ne pouvez pas sortir avec qmais vous avez besoin:q
En outre, vous obtenez la même couleur que
vim
(puisque vous utilisez en faitvim
).la source
view
) mais un autre inconvénient est que j / k / haut / bas ne défile pas instantanément, car il y a un curseur.view -
lors de la tuyauterievim
est un éditeur qui charge le fichier complet en mémoire, alorsless
qu’un pageur ne charge que partiellement le fichier en mémoire. Vous saurez la différence avec d'énormes fichiers.Pour en dire moins pour afficher les couleurs, appelez-le avec -R:
Malheureusement, certains programmes détectent que leur sortie standard n’est pas un terminal et désactivent les couleurs - par exemple, pacman (gestionnaire de paquets Arch Linux).
Dans ces cas, il est possible d'utiliser
unbuffer
:Exemple d'utilisation de pacman
La
unbuffer
commande fait généralement partie du paquetexpect
(Arch Linux, Debian / Ubuntu) ouexpect-dev
(versions anciennes de Debian / Ubuntu).Pour répondre à la question de manière complète:
Comme d’autres ont déjà répondu,
pygmentize
c’est excellent pour coloriser le code source. Cela ne nécessite pasunbuffer
. Appel le plus facile:la source
unbuffer
sur Ubuntu,sudo apt install expect
unbuffer dmesg | less -R
fonctionne comme prévu.pygmentize
supporte l'-g
option de deviner automatiquement le lexer à utiliser, ce qui est utile pour les fichiers lusSTDIN
sans vérifier le type d'extension.Avec cela, il vous suffit de définir les 2 exportations suivantes dans votre
.bashrc
sans scripts supplémentaires:la source
Vous n'avez pas précisé le sens de cette couleur, par exemple, quelles devraient être les couleurs d'un fichier texte?
Si ce que vous voulez, c'est la coloration syntaxique du code source, vous avez besoin d'un surligneur de code source. J'utilise parfois pygmentize comme ça
ou
Il y a d'autres surligneurs autour.
C'est assez rapide. Si cela ne vous dérange pas de vous lancer,
vim
il existe un mode en lecture seule qui peut vous donner la coloration syntaxique si vous l'avezvim
.ou bien voir la réponse de churnd.
la source
C'est encore une autre réponse basée sur les pygments , avec plusieurs améliorations majeures:
lesspipe
ou nelessfile
filtre pasless
Installez Pygments et Gawk
Définir les variables d'environnement
Vérifiez si
lesspipe
oulessfile
est déjà activé:Si vous ne voyez aucun des programmes référencés ici, assurez-vous qu’il
lesspipe
est installé (la plupart des distributions viennent avec).Ajouter ce qui suit à
~/.bashrc
:Si vous ne voulez pas
lesspipe
, remplacez laeval
déclaration par:Créer
~/.lessfilter
Ajoutez le code suivant et rendez le fichier exécutable:
chmod u+x ~/.lessfilter
la source
Utilisez la source GNU en surbrillance ; vous pouvez l'installer avec
apt
si vous en avez un ou l'installer de la source. Ensuite, configurez un "préprocesseur d'entrée" pour moins, avec l'aide des documentations Source-highligh 'pour configurer avec moins :la source
Pour développer une autre réponse, vous pouvez faire en sorte que cela fonctionne pour la plupart, sinon tous, de vos scripts sans extension en modifiant légèrement le fichier .lessfilter:
Vous devez toujours ajouter les deux variables à .bashrc:
Et vous aurez toujours besoin de rendre .lessfilter exécutable:
Aussi, je voulais ajouter que, sous debian, le paquet pygments s'appelle python-pygments. J'ai eu du mal à le localiser au début parce que l'orthographe évidente de "pigments" en tant que "pygments" ne me laissait pas croire qu'il s'agissait d'un paquet pouvant être préfixé par "python" par le gestionnaire de paquets.
la source
Vous pouvez envisager d'utiliser un
most
utilitaire qui constitue une alternative aux couleurs respectives pourless
etmore
.la source
ccze -A </var/log/dpkg.log
,ls -1 --color /var/log
) puis conduit àmost
:ls -1 --color /var/log | most
.git status | less --color
,git status | most --color
less
ou vers d’ autres. Assurez-vous que votre émulateur de terminal peut imprimer des couleurs. VérifiezTERM
la variable d'environnement. Lisez-en plus sur unix.stackexchange.com/questions/148/… Si possible, utilisez une distribution GNU + Linux moderne comme Debian . Utilisez le moteur de recherche (par exemple, duckduckgo.com startpage.com ) pour trouver des réponses. Rappelez-vous que les commentaires ne sont pas pour la discussion.Condensé de mon billet de blog complet sur l'amélioration de l'expérience: https://www.topbug.net/blog/2016/09/27/make-gnu-less-more-powerful/
Pour les pages de manuel colorées, ajoutez ce qui suit à votre
.bashrc
ou.zshrc
:Pour la coloration syntaxique, utilisez un puissant existant
lesspipe.sh
pour le gérer au lieu d’écrire le vôtre: https://github.com/wofr06/lesspipela source
J'ai trouvé cette solution simple et élégante. Vous n'avez pas à installer quoi que ce soit de plus car il est déjà présent par défaut sur la plupart des machines. Comme il
vim
est installé par défaut sur la plupart des machines, il inclut une macro à exécuter de la manière suivantevim
:less
Certaines des options pour l'utiliser consistent à créer un alias:
alias vless='vim -u /usr/share/vim/vim74/macros/less.vim'
ou créer un lien symbolique:
ln -s /usr/share/vim/vim74/macros/less.sh ~/bin/vless
Alors tu viens de courir
vless myfile.py
J'ai eu la plupart des informations ici
la source
alias lesser='/usr/share/vim/vim80/macros/less.sh'
dans~/bash_aliases
(dans Ubuntu 18.04). Peut utiliser des raccourcis tels que f forward, b backward, d half down, u half up, q stop, etc ...La solution la plus intuitive et la plus simple pour moi consistait à
pygmentize
ajouter les lignes ci-dessous à .bashrc
Si vous ne pouvez pas appeler
pygmentize
, installez simplementps. Le
pygmentize
binaire exécutable serait assis dans/usr/local/bin/
ou dans votre/home/username/.virtualenv/venvname/bin/
ou quelque part.la source
Aucun de ceux-ci ne fonctionnait pour moi et j'ai trouvé un moyen facile de faire ce travail, alors j'ai pensé partager.
Il suffit d’utiliser tmux, qui vous permet d’accéder à un historique plus grand et de le faire défiler, tout en préservant parfaitement les couleurs.
la source
Tant que le texte de sortie a des caractères de contrôle de couleur,
less -R
fera l'affaire.la source