일반 텍스트 파일에 탭/공백을 표시하는 가장 좋은 방법은 무엇입니까

일반 텍스트 파일에 탭/공백을 표시하는 가장 좋은 방법은 무엇입니까

안타깝게도 탭과 공백이 모두 포함된 파일이 있습니다.

특정 공간이 실제로 탭인지 공간인지 알 수 있도록 표시하려면 어떻게 해야 하나요?

답변1

여러 옵션:

POSIX:

$ printf 'a b\tc \n' | sed -n l
a b\tc $

$ printf 'a b\tc \n' | od -A n -t cx1
   a       b  \t   c      \n
  61  20  62  09  63  20  0a

매우 휴대 가능합니다.

$ printf 'a b\tc \n' | cat -vte
a b^Ic $

(일부 구현cat 에는 별칭이 있습니다 ). 탭에만 관심이 있고 후행 공백에는 관심이 없는 경우에만 또는 GNU와 함께 사용하십시오. 변환된 문자 목록은 구현마다 다릅니다.-A-vte-vt-Tcatcat

vi또는 에서 view를 입력 :set list하면 탭과 줄 끝이 표시됩니다.

답변2

귀하의 편집기가 상당히 최신 버전의 Emacs라고 가정하면 이것이 whitespace-mode바로 귀하가 찾고 있는 것입니다. 변수를 통해 문제가 있는 공간을 강조 표시하도록 사용자 정의할 수 있습니다 whitespace-style.

whitespace-style에 정의된 변수입니다 whitespace.el. 그 가치는
(face tabs spaces trailing lines space-before-tab newline indentation empty space-after-tab space-mark tab-mark newline-mark)

문서: 시각화의 공백 유형을 지정합니다.

이는 다음 값 중 일부 또는 전부를 포함하는 목록입니다.

  • face 얼굴을 통한 모든 시각화를 활성화합니다(아래 참조).

  • trailing 후행 공백은 얼굴을 통해 시각화됩니다. (위 참조)이 에 있는 경우
    에만 유효합니다 .facewhitespace-style

  • tabs TAB은 얼굴을 통해 시각화됩니다. (위 참조)이 에 있는 경우
    에만 유효합니다 .facewhitespace-style

  • spaces 공간과 단단한 공간은 얼굴을 통해 시각화됩니다. (위 참조)이 에 있는 경우
    에만 유효합니다 .facewhitespace-style

  • lines 열 너머로 확장되는 선은 whitespace-line-column 다각형을 통해 강조 표시됩니다.
    전체 라인이 강조 표시됩니다.
    이보다 우선합니다 lines-tail(아래 참조). (위 참조)이 에 있는 경우
    에만 유효합니다 .facewhitespace-style

  • lines-tail 열 너머의 선은 whitespace-line-column다각형을 통해 강조 표시됩니다.
    그러나 열 너머로 확장되는 행 부분만 해당됩니다 whitespace-line-column . (위 참조)이 에 존재하지 않고 (위 참조)이 에 존재하는 경우에만
    유효합니다 .lineswhitespace-stylefacewhitespace-style

  • newline 줄 바꿈은 면을 통해 시각화됩니다. (위 참조)이 에 있는 경우
    에만 유효합니다 .facewhitespace-style

  • empty 버퍼의 시작 및/또는 끝 부분에 있는 빈 줄은 다각형을 통해 시각화됩니다. (위 참조)이 에 있는 경우
    에만 유효합니다 .facewhitespace-style

  • indentation::tab 선 시작 부분의 8개 이상의 공백은 다각형으로 시각화됩니다. (위 참조)이 에 있는 경우
    에만 유효합니다 .facewhitespace-style

  • indentation::space 줄 시작 부분의 탭 문자는 다각형으로 시각화됩니다. (위 참조)이 에 있는 경우
    에만 유효합니다 .facewhitespace-style

  • indentationindent-tabs-mode(see)가 0이 아닌 경우 줄 시작 부분에 8개 이상의 공백이 시각화됩니다. 그렇지 않으면 줄 시작 부분의 TAB이 다각형으로 시각화됩니다. (위 참조)이 에 있는 경우
    에만 유효합니다 .facewhitespace-style

  • space-after-tab::tab TAB 뒤의 8개 이상의 공백은 다각형으로 시각화됩니다. (위 참조)이 에 있는 경우
    에만 유효합니다 .facewhitespace-style

  • space-after-tab::space TAB 뒤에 공백이 8개 이상 나타날 경우 TAB이 다각형으로 시각화됩니다. (위 참조)이 에 있는 경우
    에만 유효합니다 .facewhitespace-style

  • space-after-tabindent-tabs-mode (see)가 0이 아니면 TAB 뒤에 8개 이상의 공백이 시각화됩니다. 그렇지 않으면 탭이 면으로 시각화됩니다. (위 참조)이 에 있는 경우
    에만 유효합니다 .facewhitespace-style

  • space-before-tab::tab TAB 앞의 공간은 폴리곤을 통해 시각화됩니다. 존재하는 경우에만
    유효합니다 (위 참조).facewhitespace-style

  • space-before-tab::spaceTAB 앞에 공백이 나타나면 TAB가 면으로 시각화됩니다. (위 참조)이 에 있는 경우
    에만 유효합니다 .facewhitespace-style

  • space-before-tabindent-tabs-mode(see)가 0이 아니면 TAB 앞의 공간이 시각화되고, 그렇지 않으면 탭이 면으로 시각화됩니다. (위 참조)이 에 있는 경우
    에만 유효합니다 .facewhitespace-style

  • space-mark 공간과 하드 공간은 디스플레이 테이블을 통해 시각화됩니다.

  • tab-mark TAB은 테이블을 표시하여 시각화됩니다.

  • newline-mark 줄 바꿈은 디스플레이 테이블을 통해 시각화됩니다.

관련 정보