몇 가지 배경 정보: 진행률 표시줄을 사용합니다(특히종합적인 품질관리) SSH를 통해 액세스되는 원격 시스템에서 실행되는 스크립트의 진행 상황을 모니터링합니다. 스크립트가 실행되는 스크린 세션에 액세스할 수 있는 한 모든 것이 정상입니다.
가끔 화면을 사용할 수 없을 때가 있습니다(구체적으로,진흙), 그래서 스크립트의 출력을 파일로 리디렉션하게 되었습니다. 이 경우 세 가지 옵션을 찾았습니다.
tail -f file
: 진행률 표시줄이 올바르게 표시되고 파일이 업데이트되면 업데이트되지만 마지막 n 줄만 표시되므로 대화형으로 검색할 수 없습니다.less +F -r file
: 진행률 표시줄은 올바르게 표시되지만 파일이 변경되면 업데이트되지 않습니다(적어도 새 줄이 작성될 때까지는).vim file
: 제가 선호하는 방법인데 진행 표시줄이 엉망이고 CR 문자가 나타납니다^M
. 나는 이것이 예상된 것이라고 생각합니다.:%s/\r/\r/g
여러 줄의 "확장된" 진행률 표시줄을 보기 위해 실행할 수 있습니다. 이는 기본값보다 낫지만 훌륭하지는 않습니다.
터미널에서 일어나는 일처럼 Vim이 CR을 "현재 줄 덮어쓰기"로 해석하도록 하는 방법이 있나요? 이것이 가능하지 않다면 내가 원할 때 수동으로 수행하는 기능을 사용하여 수행할 수 있다고 생각합니다. 그래도 vimscript를 모르므로 도움이 될 것입니다.
[편집] 여기에 제안된 몇 가지 방법을 시도했습니다.tty 터미널 출력을 일반 텍스트로 변환, 그리고 여기Unix 유틸리티를 사용하여 프로그래밍 방식으로 ANSI 제어 코드를 파일에 "구울" 수 있습니까?, 의견에서 제안한 것처럼 운이 좋지 않습니다.