VIM에서 인쇄가 아름답나요?

VIM에서 인쇄가 아름답나요?

여러 행이 있는데 각 행은 콜론으로 구분된 값입니다.

abc:def:3

이제 printf와 IFS 변수를 사용하여 형식을 다시 지정할 수 있습니다.

while read line; do IFS=":" printf "%-20s %-16s %5d\n" ${line[0]} ${line[1]} ${line[2]}; done < XX

그런데 VIM에서 구현이 가능한가요?

답변1

기본적으로 vi다음과 같이 명령을 호출하여 이 작업을 수행할 수 있습니다.

:%!column -ts:

(하나가 있고 column해당 옵션을 지원하는 경우 -s)

그렇지 않으면 다음과 같이 할 수 있습니다.

:%s/[^:]\+/                                        &/g
:%s/\v^ *([^:]{20}): *([^:]{16}): *([^:]{5})/\1:\2:\3/

관련 정보