Assez souvent, je veux arrêter de fumer, less
mais je laisse ce que je regardais à l'écran pour le rappeler. Est-ce qu'il y a un moyen de faire ça? Solutions de contournement?
(Ma solution actuelle consiste à quitter, puis à utiliser more
. Ainsi, toute solution de rechange meilleure que celle-là est la bienvenue. L'idéal serait quelque chose que je pourrais utiliser une fois que je suis déjà à l'intérieur less
, peut-être avec un paramètre de shell ou un script.)
Mon bureau est OSX, mais j'utilise des serveurs RHEL et Ubuntu.
git diff
ougit log
) dansless -X
occupera la mémoire tampon de défilement de mon terminal et supprimera une grande partie de la sortie précédente. J'adorerais siless
je pouvais simplement sortir avec le dernier écran de sortie au moment de la sortie; c'est-à-dire que pas plus d'une page du tampon de défilement ne serait prise après avoir quittéless
. Des idées?-R
est généralement un choix plus sûr que-r
.-R is "Like -r, but only ANSI "color" escape sequences are output in "raw" form. Unlike -r, the screen appearance is maintained correctly in most cases."
-c
s'agit de mettre à jour l'écran lorsque vous vous déplacez à l'intérieurless
.Réponses:
C'est en fait une fonction de l'émulateur de terminal que vous utilisez (xterm, gnome-terminal, konsole, screen). Un autre écran, ou altscreen, est lancé lorsque des programmes tels que
less
ouvim
sont appelés. Cet écran n’a pas de mémoire d’historique et se ferme immédiatement lorsque vous quittez le programme. Vous revenez à l’écran d’origine qui restaure l’historique et l’emplacement du contenu de la fenêtre précédente.Vous pouvez empêcher le
less
lancement dans altscreen en passant l’argument "-X".less -X /path/to/some/file
Vous pouvez également passer "-X" en tant que variable d'environnement. Donc, si vous utilisez
bash
, placez ceci dans~/.bashrc
:Toutefois, cela désactive l’initialisation et la désinitialisation de termcap (capacité du terminal), de sorte que d’autres vues, lorsque vous les utilisez,
less
peuvent apparaître désactivées.Une autre option serait d'utiliser
screen
et de définir l'optionaltscreen off
dans votre~/.screenrc
.less
n'effacera pas l'écran et devrait préserver le formatage des couleurs. Vraisemblablementtmux
aura la même option.Cette entrée de blog décrit le problème et propose différentes solutions spécifiques
gnome-terminal
avec plus ou moins de succès.la source
git log
(et probablement d'autres commandes colorées) est fausse.alias les="/usr/bin/less -X"
git log
question ci - dessus:export LESS="-r -X"
. (Aucune idée de ce que sont les effets secondaires de cela ...)git
définit laLESS
variable surFRSX
si elle est non définie lorsqu’elle exécute le pageur, vous pouvez donc simplement laisser la valeurLESS
non définie etless
s’exécuter automatiquement avec-FRSX
. Cherchezcore.pager
dansgit-config(1)
pour plus d'informations.La solution de George n'a pas fonctionné pour moi, mais cette solution a fonctionné (de l' entrée de blog liée dans sa réponse).
$ infocmp -I xterm > ~/xterm-noclear.src
Éditez ~ / xterm-noclear.src
changez le nom sur la deuxième ligne de 'xterm' en 'xterm-noclear', ou ce que vous préférez (changez également 'xterm-debian' s'il est présent)
supprime les instructions 'smcup' et 'rmcup' (par exemple, "smcup = \ E [? 1049h," et "rmcup = \ E [? 1049l,")
$ mkdir ~/.terminfo
$ tic ~/xterm-noclear.src
(x / xterm-noclear devrait apparaître dans votre répertoire ~ / .terminfo)$ export TERM=xterm-noclear
(vérifiez maintenant le comportement de less et, s'il est satisfait, ajoutez la ligne de directive d'exportation à votre fichier ~ / .profile)(J'ai copié ces instructions directement à partir de la réponse de George rejetée par @ jah.)
la source
Je me souviens de cela
less -SEX
lorsque je dois vider la sortie à l'écran mais que je ne veux pas que les lignes soient bouclées. Par exemple,docker ps | less -SEX
qu'est-ce que cela fait est ceci:-S
-E
, vous pouvez utiliser les touches de direction pour faire défiler-E
-X
Si vous ne vous en souvenez pas
less -SEX
, il n'y a pas beaucoup d'espoir pour vous. Il suffit de re-google à chaque fois, je suppose.la source