Tmux 개행 표시기

Tmux 개행 표시기

내 tmux 터미널이 출력 라인을 동적으로 래핑하는 위치를 한 눈에 보고 싶습니다. 현재 래퍼 라인은 다음과 같습니다.

This is a very long sentence that did not
fit on one screen line.

대신 다음과 같이 보이기를 원합니다.

This is a very long sentence that did not
>>> fit on one screen line.

이 효과를 얻기 위해 아래에서 vim이를 사용하겠습니다 . set breakindentopt sbr=>>>tmux에도 비슷한 옵션이 있나요?

답변1

이것이 가능한지는 모르겠지만 솔루션에도 관심이 있습니다. 다음 bash스크립트를 사용하여 유사한 동작을 시뮬레이션할 수 있지만 전혀 테스트되지 않았으며 간단한 사용 사례에서는 이미 중단될 수 있습니다.

#!/usr/bin/env bash

cols=$(tput cols)
colsi=$((${cols} + 1))
wrap='>>> '

$@ | while IFS='' read -r line; do
    while [ ${#line} -gt ${#wrap} ]; do
        echo "${line}" | cut -c-"${cols}"
        line="${wrap}"$(echo "${line}" | cut -c"${colsi}"-)
    done
done

이 스크립트가 하는 일은 인수( )를 반복 $@한 다음 출력 줄을 인쇄하고 $wrap다음 출력 줄에 변수를 추가하는 것입니다. 이는 독립적이며 tmux내부 또는 외부에서 사용할 수 있습니다. 스크립트를 eg라는 파일에 저장 wrapper하고 다음과 같이 호출하세요.

$ x='This is just a very long silly line, it should show the use case of the wrapper script, that means the only thing this silly text is supposed to do, is to be long enough to be wrapped. Since I dont know what resolution you have on your screen, you might want to extend this line yourself to make sure it is wrapped.'

$ echo "$x"
> This is just a very long silly line, it should show the use case of the wrapper script, that means the only thing this silly text is supposed to do, is to be long enough to be wrapped. Since
> I dont know what resolution you have on your screen, you might want to extend this line yourself to make sure it is wrapped.

$ wrapper echo "$x"
> This is just a very long silly line, it should show the use case of the wrapper script, that means the only thing this silly text is supposed to do, is to be long enough to be wrapped. Since
> >>> I dont know what resolution you have on your screen, you might want to extend this line yourself to make sure it is wrapped.

echo "$x"와 사이의 출력 차이에 유의하세요 wrapper echo "$x".

관련 정보