답변1
간단히 말해서 가능하지만 .inputrc
바인딩만큼 복잡합니다.
Long: 댓글에서 제안한 대로할 수 있다Bash 프롬프트 및 readline 바인딩에서 유사한 작업을 수행합니다.
커서를 저장/복원하는 것은 화면의 나머지 부분을 확실하게 지울 수 있는 유일한 지점은 를 눌러 Enter선택을 완료하는 것뿐이므로 효과가 없습니다.
에 제어권을 넘기면 accept-line
화면의 나머지 부분을 지우기에는 너무 늦습니다. readline이 여러 작업을 수행하도록 하기 위해 일련의 실제 및 임시 "키 바인딩"을 정의하는 것은 가능합니다(그러나 복잡합니다). 예시 보기
그러나 이 접근 방식은 bash에 문자를 보내고 readline에 명령을 실행하는 것으로 제한됩니다. 이 작업을 수행하는 readline 명령이 없습니다.
printf '\033[J'
분명한유지하다화면. 가장 가까운 것은 readline의 내장 clear-screen
(아니요당신은 무엇을 원합니까). 바인딩은 다음과 같은 작업을 수행해야 합니다.
beginning-of-line
printf '\033[J';
" " 삽입end-of-line
accept-line
이것은 end-of-line
readline의 문제를 해결합니다. 누를 수 있게 해줍니다.Enter 어딘가에온라인. 커서가 줄 중앙에 있으면 입력의 일부만 표시됩니다(비록 bash는 전체 문자열을 가져옵니다).