캐러티 세션에서 터미널 페이저 비활성화
많은 CLI 도구(Git 등)는 less 같은 페이저를 사용해 스크롤 가능한 출력 방식을 제공합니다. Careti 터미널 명령을 실행할 때 이 인터랙션이 방해가 될 수 있으며, 페이저가 첫 페이지에서 멈춰 작업이 진행되지 않기도 합니다. 이때 Careti 실행한 터미널에서는 페이저가 비활성화되도록 셸 설정을 추가할 수 있습니다.
동작 방식
Careti 명령을 실행하는 터미널에 환경 변수를 설정합니다:
CLINE_ACTIVE— Careti 실행한 셸이면 값이 비어 있지 않습니다.
셸 시작 파일에서 이 변수를 감지해 Careti 세션에서만 환경 변수나 alias를 바꿀 수 있습니다. 그러면 평소 사용하던 터미널은 그대로 유지됩니다.
빠른 설정 (Zsh/Bash)
~/.zshrc, ~/.bashrc, ~/.bash_profile 중 사용 중인 파일에 아래를 추가하세요:
# 캐러티가 실행한 터미널에서 페이저 비활성화
if [[ -n "$CLINE_ACTIVE" ]]; then
export PAGER=cat
export GIT_PAGER=cat
export SYSTEMD_PAGER=cat
export LESS="-FRX"
fi
Note
PAGER=cat은 일반 페이저 지원 도구가 바로 stdout으로 출력되게 합니다.GIT_PAGER=cat은 Git이less를 호출하는 것을 막습니다.SYSTEMD_PAGER=cat은 systemd 도구의 페이징을 비활성화합니다.LESS="-FRX"는less를 스트리밍 출력처럼 동작하게 합니다.
이 설정은 CLINE_ACTIVE가 있을 때만 적용되므로 일반 터미널은 기존 동작을 유지합니다.
확인
- Careti 터미널 명령을 실행한 뒤 다음을 확인하세요:
echo "$CLINE_ACTIVE"가 비어 있지 않음git log같은 긴 출력이 멈추지 않고 스트리밍됨
- 적용되지 않는다면:
- 올바른 시작 파일(
~/.zshrc또는~/.bashrc)을 수정했는지 확인 - VS Code/Cursor를 재시작해 통합 터미널이 설정을 다시 로드하도록 함
- 터미널 프로필에서 해당 rc 파일을 소스로 읽는지 확인
- 올바른 시작 파일(
선택 사항
- 환경 변수를 쓰고 싶지 않다면 명령 옵션을 사용할 수 있습니다:
# 일회성 실행 (alias 없음)
git --no-pager log -n 50 --decorate --oneline
systemctl --no-pager status nginx
journalctl --no-pager -u nginx -n 200
less -FRX README.md
- Careti 세션에서만 alias를 적용하는 방식도 가능합니다:
if [[ -n "$CLINE_ACTIVE" ]]; then
# less를 비대화형으로 사용
alias less='less -FRX'
# 공통 도구에 페이저 비활성화 옵션 적용
alias git='command git --no-pager'
alias systemctl='command systemctl --no-pager'
alias journalctl='command journalctl --no-pager'
fi
-
환경 변수 대신 도구별 페이저 변수를 사용할 수도 있습니다:
- Git:
GIT_PAGER=cat - Systemd:
SYSTEMD_PAGER=cat - Man 페이지:
MANPAGER=cat(보통은 필요 없음)
- Git:
-
alias는 현재 쉘에만 적용되고, 환경 변수는 자식 프로세스에 전파됩니다. 워크플로우에 맞는 방식을 선택하세요.