Bash에서 Clear 명령이 Ctrl-L처럼 작동하도록 할 수 있나요?

Bash에서 Clear 명령이 Ctrl-L처럼 작동하도록 할 수 있나요?

clearbash와는 매우 다른 것 같습니다 Ctrl. 이전 터미널 정보를 모두 완전히 제거하므로 위로 스크롤할 수 없습니다. 화면 을 스크롤하면 커서가 페이지 상단에 있으므로 계속 위로 스크롤하여 이전 정보를 볼 수 있습니다. 나는 -system 을 선호합니다 . 이전 터미널 정보를 모두 지우는 대신 실행 되도록 덮어쓰는 방법이 있습니까 ? 이것은 큰 문제는 아니지만 별칭을 사용하여 내가 선호하는 기능을 가리킬 수 있는 방법이 있는지 호기심에서 알고 싶었습니다 .LclearCtrlLCtrlLclearCtrlLclearCtrlL

그건 그렇고, 방금 PowerShell에도 바인딩이 있고 동일한 방식으로 수행된다는 사실을 발견했습니다. 이는 CtrlPowerShell L디자이너 CtrlLbash에서 많은 것을 빌린 것처럼 보이지만 cmd.exe콘솔에는 이 기능이 없습니다.

답변1

이전 터미널 정보를 모두 지우는 대신 Ctrl-L을 수행하도록 Clear를 재정의하는 방법이 있습니까?

alias clear='tput -x clear'

예, Ctrl-Lbash( mode )에서도 set -o emacs똑같은 일을 합니다 .

또는 이스케이프를 직접 연결하면 alias clear='printf "\033[H\033[2J"'대부분의 터미널 에뮬레이터에서 작동하며 이를 가지고 있거나 설치했다고 가정하지 ncurses않습니다 bash.

알아채다:clear비지박스의 애플릿은 스크롤백 버퍼를 지우지 않으므로 일부 비지박스 기반 시스템(예: 대부분의 임베디드 Linux 시스템)을 사용하는 경우 특별한 작업을 수행할 필요가 없습니다.

답변2

clear터미널 명령이며 발췌 내용은 다음과 같습니다 man clear.

clear 설명은 가능한 경우 스크롤백 버퍼를 포함하여 화면을 지웁니다(확장된 "E3" 기능이 정의된 경우). clear환경 변수 TERM에 지정된 터미널 유형에 대한 환경을 찾은 다음 terminfo 데이터베이스에서 화면을 지우는 방법을 결정합니다. clear표준 출력에 씁니다. 표준 출력을 파일로 리디렉션한 다음(클리어가 실제로 화면을 지우는 것을 방지함) cat 파일을 화면으로 리디렉션하고 그 시점에서 지울 수 있습니다.

Ctrl+ l는 키 바인딩입니다readline명령 clear-screen( man 3 readline)입니다.

화면을 지우고 현재 행을 다시 그려 화면 상단에 유지합니다. 인수로 사용되는 경우 화면을 지우지 않고 현재 행을 새로 고칩니다.


clearreadline 명령 clear-screen의 별칭을 지정하는 방법을 찾을 수 없으며 아마도 전혀 불가능할 것입니다.

관련 정보