Conozco el clear
comando que 'borra' la pantalla actual, pero lo hace simplemente imprimiendo muchas líneas nuevas: los contenidos borrados simplemente se desplazan hacia arriba.
¿Hay alguna forma de borrar por completo toda la salida anterior del terminal para que no pueda alcanzarla incluso desplazándome hacia arriba?
Command+K
.Respuestas:
Para borrar el terminal manualmente:
⌘+K
Command+ Kpara teclados más nuevos
Para borrar el terminal desde un script de shell;
fuente
clear
para todos los casos excepto donde necesite que desaparezca el historial de retroceso, por ejemplo, cuando vaya a imprimir).clear
. Sin embargo, siento que deberían revertirse. Mecanografiarclear
parece más intencional que golpearCommand + K
.Una mejor manera de borrar la pantalla desde un script ...
Si está utilizando la aplicación OSX Terminal (como lo indica el OP), un mejor enfoque (gracias a https://apple.stackexchange.com/a/113168 ) es solo esto:
o más concisamente (punta de sombrero a https://stackoverflow.com/users/4834046/qiuyi ):
que borra el búfer de desplazamiento y la pantalla. También hay otras opciones, consulte https://apple.stackexchange.com/a/113168 para obtener más información.
respuesta original
La respuesta de AppleScript dada en este hilo funciona, PERO tiene el desagradable efecto secundario de borrar CUALQUIER ventana de terminal que esté activa. ¡Esto es sorprendente si está ejecutando el script en una ventana y está tratando de hacer el trabajo en otra!
Para evitar esto, refine el AppleScript para que solo borre la pantalla si está al frente haciendo esto (tomado de https://apple.stackexchange.com/a/31887 ):
... pero como cuando no es la ventana actual, la salida se acumulará hasta que vuelva a ser actual, lo que probablemente no sea lo que desea.
fuente
.bash_profile
y es increíble porque a veces ya no obtengo el búfer fallido cuando abro una nueva ventana de terminal.La linda manera es
printf '\33c\e[3J'
fuente
alias cls='printf "\33c\e[3J"'
\33c
realiza el equivalente delclear
comando, que básicamente solo desplaza la pantalla hasta que no pueda ver su contenido anterior. Borra la pantalla, pero no el búfer de desplazamiento hacia atrás (es decir, aún puede usar las barras de desplazamiento para ver la salida anterior). Agregue el\e[3J
para borrar realmente el búfer de desplazamiento hacia atrás.function cls { printf '\33c\e[3J\33c' }
línea~/.profile
(o en todo el sistema/etc/profile
). Esto debería funcionar para entornos de escritorio en macOS, FreeBSD, Linux, etc. Tenga en cuenta que el extra\33c
es para borrar el\e[3J
literal extra en no MacOS (básicamente para Linux / FreeBSD, solo necesitamosprintf '\33c'
).Ponga esto en su .bash_profile o .bashrc
fuente
En Mac OS X Terminal, esta funcionalidad ya está integrada en la Aplicación de terminal como
View->Clear Scrollback
(El valor predeterminado es CMD+ K).Por lo tanto, puede reasignar esto a su gusto con los atajos de teclado de Apple. Simplemente agregue un nuevo acceso directo para Terminal con el comando "Clear Scrollback". (Uso CMD+ L, porque es similar a CTRL+ Lpara borrar el contenido actual de la pantalla, sin borrar el búfer).
No estoy seguro de cómo usaría esto en un script (tal vez AppleScript como otros han señalado).
fuente
View->Clear Scrollback
ya no está presente en el menú de la Terminal. Sin embargo, el atajo de tecladoCMD
+K
todavía funciona.Clear Scrollback
acaba de mudarseView
aEdit
Yosemite.Con Mac OS X Yosemite (10.10) use
Option + Command + K
para borrar el desplazamiento en Terminal.app.fuente
O puede enviar un salto de página (feed de formulario ASCII) presionando:
Si bien esto técnicamente solo comienza una nueva página, tiene el mismo efecto neto que todos los demás métodos, a la vez que es mucho más rápido (a excepción de la solución Apple + K, por supuesto).
Y debido a que este es un comando de control ASCII, funciona en todos los shells.
fuente
Para eliminar solo la última salida:
⌘+L
Para borrar completamente la terminal:
⌘+K
fuente
Comando + K borrará la salida anterior
Para borrar el texto ingresado, primero salte a la izquierda con " Comando + A " y luego borre el texto a la derecha del puntero con " Control + K ".
Ejemplos visuales:
fuente
borra todo, funciona bien en osX también. muy aseado
fuente
¡Haz lo correcto, haz lo correcto!
Borrar a la marca anterior:
Command-L
Borrar al marcador anterior:
Option-Command-L
Claro para comenzar:
Command-K
Ayuda a tus muchachos!
fuente
No pude hacer que ninguno de los anteriores funcione (en macOS).
Una combinación funcionó para mí
Esto borra el búfer y la pantalla.
fuente
IO.write
. Debería funcionar igual, sin embargo, decide imprimir esos caracteres en el terminal.Escribir lo siguiente en la terminal borrará su historial (lo que significa que usar la flecha hacia arriba no le dará nada), pero no borrará la pantalla:
fuente
Prueba esto, si estás abrumado con la salida si quieres un filtro
actividad de adb -d shell dumpsys | grep ActivityRecord
fuente
CMD + K parece funcionar todo el tiempo para mí.
fuente