Pourrait moins montrer la proportion visualisée du fichier texte?

18

Comme le titre l'indique, lorsque je navigue dans un fichier texte, je voudrais connaître la portion actuellement visualisée de l'ensemble du fichier texte.

Je sais qu'avec l'option -N, nous pourrions activer les numéros de ligne, mais comment faire pour afficher moins le numéro de ligne de tout le fichier texte?

Merci.

Jichao
la source

Réponses:

19

Si vous ouvrez un fichier avec moins, appuyez sur Ctrl-g pour afficher le numéro de ligne actuel, le nombre total de lignes et le pourcentage, comme indiqué ci-dessous:

lignes 51-100 / 185 octets 3228/5886 54% (appuyez sur RETOUR)

secureBadshah
la source
1
merci.Après avoir revisité la page de manuel, réussissez à la trouver et obtenez les deux autres commandes égales ': f' et '='. Désolé pour cela.
Jichao
1
Malheureusement, cela ne fonctionne pas via les canaux, ni avec le paramètre -M ou -m de l'autre réponse. Par exemple, wdiff version1.txt version2.txt | colordiff | less -RMn'affiche pas le pourcentage. Faites-moi savoir si quelqu'un a une solution ou une solution à ce problème. Mise à jour: la solution est d'ajouter + Gg comme une autre réponse expliquée.
baptx
18

Voulez-vous dire comme avec le -Mcommutateur?

Teddy
la source
C'est exactement ce que je veux!
Jichao
Ou -msi le numéro de ligne n'est pas nécessaire.
Franklin Yu
1
Avez-vous une idée s'il existe une solution ou une solution pour afficher le pourcentage lors de l'utilisation de tuyaux? Par exemple, je ne vois pas le pourcentage d'un diff coloré avec cette commande: wdiff version1.txt version2.txt | colordiff | less -RMMise à jour: la solution est d'ajouter + Gg comme une autre réponse expliquée.
baptx
6

less -M +Gg

pour les fichiers pas très gros c'est OK, car +G( Gcommande) va jusqu'à la fin du fichier

ALZ
la source
1
Idéal pour $MANPAGERquand même! Tu vois man man.
Tom Hale
Idéal colordiffaussi! Par exemple:wdiff version1.txt version2.txt | colordiff | less -RM +Gg
baptx
4

Il suffit d'élargir un peu les réponses précédentes. Ligne de commande:

less -M +Gg

fait ce qui suit:

-M Afficher la position actuelle dans le fichier à l'invite + commandes Gg Run G(aller à la fin du fichier) et g(revenir au début du fichier)

Si lesslit à partir de stdin, ce qui se produit lors de l' manaffichage d'une page de manuel, il ne connaît pas à l'avance le nombre total de lignes dans le fichier, afin qu'il puisse calculer correctement sa position. Par conséquent, +Ggest nécessaire pour lessobtenir le nombre total de lignes et ainsi calculer la position actuelle en pourcentage.

J'ai trouvé utile de définir ces variables dans ~ / .bashrc :

export LESS+='-M'
export MANPAGER='less +Gg'

LESSs'assurera que toutes les invocations de lessafficheront la position actuelle sur l'invite, et MANPAGERs'assurera que lesssera en mesure d'obtenir le nombre total de lignes dans la page de manuel, qui lesss'affichera ensuite sur l'invite. Il semblait être plus sensible ne pas inclure +Ggdans LESSpour empêcher lessd'essayer d'aller à la fin de l' entrée canalisée potentiellement importante. Si cela est nécessaire, on peut toujours exécuter les commandes Get gmanuellement.

Paulo Marcel Coelho Aragão
la source
+1 pour la voie manuelle, appuyez surGg
wisbucky
Pourquoi mettre un signe plus "MOINS +" dans votre exemple? Ne devrait-il pas suffire d'écrire simplement "export LESS = 'M'"?
db
@db, LESS + = '- M' ajoutera l'option -M à toutes les options précédemment définies pour LESS
Paulo Marcel Coelho Aragão