터미널에서 탭으로 구분된 값 보기(탭은 표시되지 않음)

터미널에서 탭으로 구분된 값 보기(탭은 표시되지 않음)

탭으로 구분된 값 파일이 있고 cat이를 말하면 파일이 모두 적절하게 정렬되어 멋지게 렌더링됩니다. 이제 마우스를 사용하여 붙여넣기를 다른 텍스트 편집기로 복사하려고 하면 탭이 공백이 된다!?

탭을 공백이 아닌 리터럴 탭으로 렌더링하는 터미널 에뮬레이터가 있습니까?

테스트는 다음과 같습니다.

echo -e "first"$'\t'"second"$'\t'"third"$'\n'"1"$'\t'"2"$'\t'"3" > tsv.tsv
cat tsv.tsv

이제 GUI 텍스트 편집기에 복사하여 붙여넣어 보십시오.

답변1

이 경우 vte위젯(예: )을 기반으로 하는 터미널 에뮬레이터는 TAB을 유지합니다.gnome-terminal

TAB 문자가 기존 콘텐츠 위로 이동하지 않는 경우 가장 간단한 사용 시나리오로만 제한됩니다.

터미널의 경우 TAB은 인쇄 가능한 문자가 아니고 커서를 재배치하는 제어 시퀀스이기 때문에 대부분의 터미널 에뮬레이터는 이를 공백으로 변환합니다. 예를 들어 기존 문자 위에 Tab 키를 쳐도 해당 문자는 그대로 유지되며 지워지지 않습니다(공백으로 대체되지 않음).

답변2

아마 하나도 찾지 못할 것입니다. 내 경험에 따르면 터미널 에뮬레이터가 렌더링된 탭을 디스플레이 공간으로 에뮬레이트하는 터미널도 마찬가지입니다. 확실히 VT100에서 탭 정지를 설정할 수 있으므로 화면에 탭이 무엇인지에 대한 명확한 정의는 없었습니다. 실제 Digital Equipment Corporation VT100의 인쇄 화면에 이스케이프 시퀀스를 보낸 경우 탭이 공백으로 렌더링된 프린터에 공백이 전송됩니다.

대체 솔루션으로 GUI 편집기의 별도 세션에서 탭 소스 문서를 여는 것을 고려해보세요. 그런 다음 필요한 텍스트를 선택하고 다른 세션에서 연 대상 문서를 잘라내어 붙여넣습니다. 예를 들어 gvim탭 문자를 클립보드에 복사한다는 것을 알고 있습니다 .

특정 GUI 편집기가 이를 지원하는지 여부는 현재로서는 추측의 문제일 뿐입니다.

관련 정보