내가 들어가면 다음을 vim
사용하여 탭 크기를 변경할 수 있습니다.
:set ts=4
cat
명령 출력의 탭 크기 도 설정할 수 있습니까?
답변1
첫 번째 명령은 여기에 있습니다.본뜨다에 표시되는 형식입니다 vim
. 4개 열마다 탭 정지(ts) 설정을 기반으로 탭을 동일한 수의 공백으로 지능적으로 확장합니다.
printf "ab\tcd\tde\n" |expand -t4
산출
ab cd de
유지하기 위해서는탭~처럼탭그리고 탭이 있어요멈추다위치가 4개 열마다로 설정된 경우 환경에서 tab-char를 사용하는 방식을 변경해야 합니다(vim이 명령을 사용하는 것처럼 :set ts=4
).
예를 들어 터미널에서는 탭을 설정할 수 있습니다멈추다4로 변경하려면 이 명령을 사용하십시오.
tabs 4; printf "ab\tcd\tde\n"
산출
ab cd de
답변2
다음 코드를 사용하세요.
tabs -n
여기서 n은 탭 문자에 대응할 공백 수입니다. 셸을 시작할 때마다 이 작업을 수행할 필요가 없도록 하려면 위 줄을 편집하여 .bash_profile
파일 ~/
끝에 추가하면 됩니다.
탭 명령에 대한 자세한 내용은 다음을 참조하세요.
man tabs
답변3
; 에는 탭이나 탭 정지 개념이 없습니다 cat
. 이 프로그램은 단순히 입력을 출력으로 퍼널하고 탭을 다른 문자로 처리합니다. 출력 장치가 터미널인 경우 탭은 터미널 구성에서 제공하는 동작에 따라 처리됩니다.
tabs(1)
POSIX.1을 구현하는 시스템에는 터미널이 탭 개념을 표시하는 방법을 조정하는 명령이 있습니다 . 특정 탭 레이아웃에 따라 다른 사람이 파일을 다른 장치(예: 예상한 대로 작동하지 않는 프린터)로 보낼 수 있으므로 좋은 생각으로 간주되지 않습니다.
ts
에서 vim
(또는 일반 ) 조정할 때 vi
해야 할 일은 표시될 때 편집기가 탭 문자를 해석하는 방식을 조정하는 것뿐입니다. 파일의 최종 내용과는 아무런 관련이 없습니다.
답변4
이미 제공된 답변을 확장하려면 expand
탭 정지 위치 목록을 얻을 수도 있습니다. 이는 개별 열의 콘텐츠 길이가 크게 다를 경우 유용합니다.
오늘 출력을 더 읽기 쉽게 만들고 싶었을 때 openssl ciphers
다음 요구 사항을 발견했습니다.
$ openssl ciphers -v 'HIGH'|tr -s ' ' '\t'|expand -t31,41,57,70,90
ECDHE-RSA-AES256-GCM-SHA384 TLSv1.2 Kx=ECDH Au=RSA Enc=AESGCM(256) Mac=AEAD
ECDHE-ECDSA-AES256-GCM-SHA384 TLSv1.2 Kx=ECDH Au=ECDSA Enc=AESGCM(256) Mac=AEAD
ECDHE-RSA-AES256-SHA384 TLSv1.2 Kx=ECDH Au=RSA Enc=AES(256) Mac=SHA384
ECDHE-ECDSA-AES256-SHA384 TLSv1.2 Kx=ECDH Au=ECDSA Enc=AES(256) Mac=SHA384
...
ECDH-ECDSA-AES128-SHA SSLv3 Kx=ECDH/ECDSA Au=ECDH Enc=AES(128) Mac=SHA1
AES128-GCM-SHA256 TLSv1.2 Kx=RSA Au=RSA Enc=AESGCM(128) Mac=AEAD
AES128-SHA256 TLSv1.2 Kx=RSA Au=RSA Enc=AES(128) Mac=SHA256
AES128-SHA SSLv3 Kx=RSA Au=RSA Enc=AES(128) Mac=SHA1
CAMELLIA128-SHA SSLv3 Kx=RSA Au=RSA Enc=Camellia(128) Mac=SHA1
PSK-AES128-CBC-SHA SSLv3 Kx=PSK Au=PSK Enc=AES(128) Mac=SHA1
only를 사용하면 expand -t31
출력 너비가 약 100자에서 160자 이상으로 확장됩니다.