Careti セッション中のターミナルページャーを無効化
多くの CLI ツール(Git など)は less などのページャーを使用します。Careti がターミナルでコマンドを実行する際、このインタラクティブな挙動が止まりの原因になることがあります。Careti セッションだけページャーを無効化する設定が可能です。
仕組み
Careti はコマンド実行用ターミナルに環境変数を設定します:
CLINE_ACTIVE— Careti によって起動されたシェルで非空
この変数をシェル設定で検出し、Careti セッションのみ設定を変更します。
クイック設定 (Zsh/Bash)
~/.zshrc、~/.bashrc、~/.bash_profile に追加:
# Careti セッションでページャーを無効化
if [[ -n "$CLINE_ACTIVE" ]]; then
export PAGER=cat
export GIT_PAGER=cat
export SYSTEMD_PAGER=cat
export LESS="-FRX"
fi
Note
PAGER=catで一般的なページャーを無効化GIT_PAGER=catで Git のlessを防止SYSTEMD_PAGER=catで systemd ページャー無効化LESS="-FRX"でlessをストリーミング出力風に
CLINE_ACTIVE がある場合のみ適用され、通常のターミナルには影響しません。
確認
- Careti でターミナルを実行後、次を確認:
echo "$CLINE_ACTIVE"が非空git logなどが止まらず出力
- 反映されない場合:
- 正しい rc ファイルを編集したか確認
- VS Code/Cursor を再起動
- ターミナルプロファイルが rc を読み込むか確認
オプション
- 環境変数を使わずに CLI オプションで無効化:
# 一回だけ
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
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 は現在のシェルのみ、環境変数は子プロセスへ伝播します。ワークフローに合わせて選択してください。