Donc, nous utilisons man whatever
pour obtenir l'utilisation et d'autres informations concernant la whatever
commande, lorsque la section d'informations pertinente est trouvée, je voudrais quitter la man
commande avec les informations laissées à l'écran. Je peux donc taper la commande suivante avec l'arbitre ci-dessus. Mais la man
commande quitte tout l'écran pour récupérer l'ancien écran similaire à vim
. Existe-t-il un moyen d'y parvenir?
24
Réponses:
Je crois que ce n'est pas tellement sur
man
lui-même mais plutôt sur votre pager de choix (PAGER
variable d'environnement) combiné avec le terminal utilisé.Je suppose que votre pager est probablement
less
(pager par défaut typique de nos jours et correspond à la description).less
a une option-X
qui peut vous amener à un comportement dans le sens de ce que vous recherchez.Par exemple,
PAGER="less -X" man man
pourrait être utilisé pour le tester, et si vous trouvez ce comportement préférable, vous pourriez envisager de définirPAGER
cette valeur de manière permanente.la source
LESS=-X
, pour éviter d'avoir à changerPAGER
(je ne lui fais pas 100% confiance pour fonctionner dans tous les programmes avec un espace comme celui-ci, bien que cela fonctionne chez l'homme.)Si vous utilisez moins votre téléavertisseur (ce qui est très courant), vous n'avez pas besoin de modifier votre téléavertisseur, faites simplement la redirection d'E / S:
man <whatever you want to man> | cat -
Cela imprimera une copie sur le terminal afin que vous puissiez faire défiler vers le haut lorsque vous en avez besoin.
la source
-
signifie standard dans maiscat
suppose que de toute façonComme non seulement
less
mais aussi d'autres applications de texte commevim
présentent la même fonctionnalité extrêmement ennuyeuse, ce que je fais est simplement de supprimer la capacité du terminal à prendre en charge les commandes impliquées de laterminfo
base de données.Ces commandes sont
smcup
etrmcup
, qui ont été conçues pour permettre l'activation et le déplacement où lacup
commande (position du curseur) était autorisée.Voici une fonction shell que j'ai utilisée pour automatiser la tâche, elle fonctionne au moins avec Solaris et probablement la plupart des distributions Linux:
Si votre entrée de terminal ne revient pas
xterm
, vous devez la remplacerxterm
par le bon nom de terminal dans le script.la source
Vous pouvez diriger la sortie vers la
cat
commandeou utilisez-le à la place du pager par défaut, comme dans cet exemple qui invoque l'homme sur lui-même:
la source
Sans modifier le pager, une solution avec des canalisations pouvant fonctionner dans la plupart des environnements:
Exemples pour
man ls
man ls | cat
man ls | more
man ls | grep somestring
la source
c'est 2016, il suffit d'ouvrir un deuxième terminal ou onglet ou fenêtre ou de lire l'homme en ligne ..
la source
Même sur mes serveurs (FreeBSD) j'installe X et xfce. Ensuite, j'alloue un grand tampon (par exemple 10 000 lignes) pour les émulateurs de terminal afin que je puisse entièrement faire défiler la page de manuel dans l'un d'eux et utiliser une instance de terminal distincte pour assembler la commande. Fonctionne un régal.
la source