Con relativa frecuencia, me encuentro con ganas de dejar de fumar, less
pero dejar lo que estaba viendo en la pantalla, para consultar. ¿Hay alguna forma de hacer esto? Soluciones alternativas?
(Mi solución actual es dejar de fumar y luego usar more
. Por lo tanto, cualquier solución que sea mejor que eso es bienvenida. Lo ideal sería algo que pueda usar una vez que ya esté dentro less
, tal vez con una configuración de shell o alguna secuencia de comandos).
Mi escritorio es OSX, pero uso los servidores RHEL y Ubuntu.
git diff
ogit log
) enless -X
tomará el búfer de desplazamiento en mi terminal y desalojará gran parte de la salida anterior. Me encantaría siless
pudiera salir con la última pantalla llena de salida en el momento de la salida; es decir, no se tomará más de una página del búfer de desplazamiento después de salirless
. ¿Algunas ideas?-R
suele ser una opción más segura 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
se trata de cómo actualizar la pantalla cuando te mueves dentroless
.Respuestas:
Esta es en realidad una función del emulador de terminal que está utilizando (xterm, gnome-terminal, konsole, screen). Una pantalla alternativa, o altscreen, se inicia cuando se invocan programas como
less
ovim
. Esta pantalla alternativa no tiene búfer de historial y se cierra inmediatamente cuando sale del programa, volviendo a la pantalla original que restaura el historial y la ubicación del contenido de la ventana anterior.Puede evitar que se
less
inicie en una pantalla alternativa pasando el argumento "-X".less -X /path/to/some/file
También puede pasar "-X" como variable de entorno. Entonces, si está utilizando
bash
, coloque esto en~/.bashrc
:Sin embargo, esto deshabilita la inicialización y la desinicialización de termcap (capacidad de terminal), por lo que
less
pueden aparecer otras vistas cuando se usa .Otra opción sería usar
screen
y configurar la opciónaltscreen off
en su~/.screenrc
.less
no borrará la pantalla y debería conservar el formato de color. Presumiblementetmux
tendrá la misma opción.Esta entrada del blog describe el problema y ofrece algunas soluciones diferentes específicas para cada
gnome-terminal
éxito.fuente
git log
(y probablemente otros comandos de colores) está en mal estado.alias les="/usr/bin/less -X"
git log
cuestión anterior:export LESS="-r -X"
. (No tengo idea de cuáles son los efectos secundarios de eso ...)git
establece laLESS
variable enFRSX
si no está establecida cuando ejecuta el buscapersonas, por lo que puede dejarla sin establecerLESS
yless
se ejecutará automáticamente con-FRSX
. Busquecore.pager
adentrogit-config(1)
para más información.La solución de George no funcionó para mí, pero esta solución sí (de la entrada del blog vinculada en su respuesta).
$ infocmp -I xterm > ~/xterm-noclear.src
Editar ~ / xterm-noclear.src
cambie el nombre en la segunda línea de 'xterm' a 'xterm-noclear', o lo que le convenga (también cambie 'xterm-debian' si está presente)
elimine las instrucciones 'smcup' y 'rmcup' (por ejemplo, "smcup = \ E [? 1049h," y "rmcup = \ E [? 1049l,")
$ mkdir ~/.terminfo
$ tic ~/xterm-noclear.src
(x / xterm-noclear debería aparecer en su directorio ~ / .terminfo)$ export TERM=xterm-noclear
(ahora verifique el comportamiento de less y, si está satisfecho, agregue la línea de directiva de exportación a su ~ / .profile)(Copié estas instrucciones directamente de la edición rechazada de @ jah de la respuesta de George).
fuente
La forma en que recuerdo esto es
less -SEX
cuando necesito volcar la salida a la pantalla pero no quiero que las líneas se ajusten. Por ejemplo,docker ps | less -SEX
lo que hace es esto:-S
-E
, puede usar las teclas de flecha para desplazarse-E
-X
Si no puedes recordar
less -SEX
, no hay mucha esperanza para ti. Simplemente vuelve a google cada vez que supongo.fuente