나는 clear
현재 화면을 '지우는'명령을 알고 있지만 많은 줄 바꿈을 인쇄 하여이 작업을 수행합니다. 지운 내용은 위로 스크롤됩니다.
위로 스크롤해도 도달 할 수 없도록 터미널에서 이전의 모든 출력을 완전히 지우는 방법이 있습니까?
Command+K
.
나는 clear
현재 화면을 '지우는'명령을 알고 있지만 많은 줄 바꿈을 인쇄 하여이 작업을 수행합니다. 지운 내용은 위로 스크롤됩니다.
위로 스크롤해도 도달 할 수 없도록 터미널에서 이전의 모든 출력을 완전히 지우는 방법이 있습니까?
Command+K
.
답변:
⌘+K
Command+ K최신 키보드
/usr/bin/osascript -e 'tell application "System Events" to tell process "Terminal" to keystroke "k" using command down'
clear
경우를 제외하고 는 모든 경우에 사용 하는 것이 좋습니다.)
clear
. 그래도 그들은 반대로해야한다고 생각합니다. 입력하는 clear
것이 타격보다 더 의도적 인 것 같습니다 Command + K
.
OP에 명시된 OSX 터미널 앱을 사용하는 경우 https://apple.stackexchange.com/a/113168 덕분에 더 나은 접근 방식 은 다음과 같습니다.
clear && printf '\e[3J'
간결하게 ( https://stackoverflow.com/users/4834046/qiuyi의 팁 ) :
printf '\33c\e[3J'
화면뿐만 아니라 스크롤 백 버퍼를 지 웁니다. 다른 옵션도 있습니다 . 자세한 내용은 https://apple.stackexchange.com/a/113168 을 참조 하십시오 .
이 스레드에 제공된 AppleScript 답변은 작동하지만 활성 상태 인 터미널 창을 지우면 나쁜 부작용이 있습니다. 한 창에서 스크립트를 실행하고 다른 창에서 작업을 수행하려고하면 놀라운 일입니다!
https://apple.stackexchange.com/a/31887 에서 가져온 화면이 맨 앞에있는 경우에만 화면을 지우도록 AppleScript를 수정하여이를 피할 수 있습니다 .
osascript -e 'if application "Terminal" is frontmost then tell application "System Events" to keystroke "k" using command down'
...하지만 현재 창이 아닌 경우 출력이 다시 전류가 될 때까지 쌓입니다. 아마도 원하는 것이 아닙니다.
.bash_profile
했고 새로운 터미널 창을 열 때 때때로 더 이상 글리치 버퍼를 얻지 못하기 때문에 훌륭합니다.
예쁜 방법은 printf '\33c\e[3J'
alias cls='printf "\33c\e[3J"'
\33c
과 동일한 기능을 수행합니다 clear
. 화면을 지우지 만 스크롤 백 버퍼는 아닙니다 (즉, 여전히 스크롤 막대를 사용하여 이전 출력을 볼 수 있음). \e[3J
실제로 스크롤 백 버퍼를 지우려면를 추가하십시오 .
function cls { printf '\33c\e[3J\33c' }
줄을 추가하십시오 ~/.profile
(또는 시스템 전체 /etc/profile
). 이것은 macOS, FreeBSD, Linux 등의 데스크탑 환경에서 작동합니다. 추가 기능 \33c
은 \e[3J
macOS 이외 의 추가 리터럴 을 지우는 데 사용 됩니다 (기본적으로 Linux / FreeBSD의 경우에만 필요 printf '\33c'
).
이것을 .bash_profile 또는 .bashrc에 넣으십시오.
function cls {
osascript -e 'tell application "System Events" to keystroke "k" using command down'
}
Mac OS X 터미널에서이 기능은 이미 터미널 응용 프로그램에 내장되어 있습니다 View->Clear Scrollback
(기본값은 CMD+ K).
따라서 Apple의 키보드 단축키로 원하는대로 다시 할당 할 수 있습니다. "Clear Scrollback"명령으로 터미널에 대한 새로운 바로 가기를 추가하십시오. 버퍼를 지우지 않고 현재 화면 내용을 지우는 + 와 비슷하기 때문에 CMD+를 사용 합니다.LCTRLL
스크립트에서 이것을 어떻게 사용할지 잘 모릅니다 (다른 사람들이 지적한 것처럼 AppleScript 일 수 있습니다).
View->Clear Scrollback
더 이상 터미널 메뉴에 없습니다. 키보드 단축키 CMD
+는 K
여전히 작동합니다.
Clear Scrollback
단지에서 이동 View
에 Edit
요세미티에서.
clear && printf '\e[3J'
모든 것을 지우고 osX에서도 잘 작동합니다. 매우 깔끔한
옳은 일, 옳은 일을!
이전 마크로 클리어 :Command-L
이전 북마크 지우기 :Option-Command-L
시작하기 : Command-K
너희들을 도와 줘!
위의 내용 중 어느 것도 작동하지 못했습니다 (macOS).
조합이 나를 위해 일했습니다-
IO.write "\e[H\e[2J\e[3J"
버퍼와 화면을 지 웁니다.
IO.write
. 동일하게 작동하지만 해당 문자를 터미널에 인쇄하기로 결정했습니다.
터미널에 다음을 입력하면 기록 이 지워지지 만 (위쪽 화살표를 사용하면 아무 것도 얻지 못함) 화면 이 지워지지 는 않습니다.
history -c