탭을 탭으로 표시하는 것을 줄이는 방법은 무엇입니까?

탭을 탭으로 표시하는 것을 줄이는 방법은 무엇입니까?

에서 탭이 있는 데이터를 보면 less탭이 공백으로 확장됩니다. ctrl-c를 사용하여 터미널에서 직접 복사하면 공백으로 복사됩니다. 반면 탭 문자는 및 more같은 다른 많은 명령과 마찬가지로 유지됩니다 . 라벨을 그대로 유지하는 방법이 있나요 ?tailheadless

-r탭 문자를 제어 문자로 취급한다는 설명과 함께 사용해도 아무런 효과가 없는 것 같습니다 -U. 다른 관련 옵션이 표시되지 않습니다 less.

답변1

이것맨페이지less오해의 소지가 있는 것 같습니다.

-r및 옵션을 결합하면 입력에서 줄을 읽고 해당 출력 버퍼가 채워질 때 탭이 공백으로 변환되는 것을 -U방지할 수 있습니다 . less그러나 출력 버퍼가 (파일이나 파이프가 아닌) 터미널에 기록되면 write()termio 설정으로 인해 호출 시 탭이 공백으로 두 번째 변환됩니다. 이는 맨페이지를 읽을 때 예상할 수 있는 것과는 다릅니다. 행동.

소스에서 컴파일하고 or, 또는 (버전 487의 398-411 및 489 라인) less의 행을 주석 처리하는 경우#ifdefXTABSOXTABSTAB3s.c_oflagscreen.c:raw_mode()lessless), 호출을 사용하면 tabs 를 출력하는 버전을 얻게 됩니다 -r -U.

원하는 동작을 생성하는 기존 명령줄 옵션을 찾을 수 없지만 이 동작을 전환하는 버전을 생성하는 것은 쉽습니다.

충분히 어리석은 터미널을 사용하는 것도 효과가 있을 것입니다.

관련 정보