Bash 출력을 위한 탭 문자 설정

Bash 출력을 위한 탭 문자 설정

more및 명령에 대해 탭(탭당 공백 수)을 설정할 수 있습니까 less? vi에서는 다음 줄을 추가했습니다..vimrc

set tabstop=4

하지만 파일을 읽을 때 more각 탭은 여전히 ​​8개의 공백을 사용합니다.

$ more style.css
div {
        width: 100%;
}

.bashrc파일이나 이와 유사한 것으로 구성할 수 있습니까 ?

답변1

에서 man less:

  -xn,... or --tabs=n,...
         Sets tab stops.  If only one n is specified, tab stops are set at 
         multiples of n.  If multiple values separated by commas are specified,
         tab stops are  set  at  those positions, and then continue with the same
         spacing as the last two.  For example, -x9,17 will set tabs at positions
         9, 17, 25, 33, etc.  The default for n is 8.

매뉴얼 페이지에는 setenv 또는 내보내기를 사용하여 less에 대한 기본 옵션을 설정하는 방법도 설명되어 있습니다. 이것을 LESS="-x4";export LESS~/.bashrc에 추가하면 트릭을 수행할 수 있습니다.

답변2

bash나는 그것이 (또는 zsh, csh... 및 기타 쉘) 의 속성 이라고 생각하지 않습니다 . 출력을 표시하는 터미널의 속성입니다.

expand명령을 사용하여 tab수량으로 변환 할 수 있습니다 spaces. expand매뉴얼 페이지 에서 :

-t, --tabs=NUMBER
              have tabs NUMBER characters apart, not 8

그래서 당신은 이렇게 할 것입니다 :

$ cat test.tabs
a        b        c

$ expand -t 4 test.tabs
a    b    c

관련 정보