最近のMacPortsでは、システムにgrc(通常のシェーダ)をインストールして、デフォルトでサポートされていない多くのコマンドのカラー出力を得ることができました(下記のスクリーンショットを参照)。
特定のコマンドではなく、すべてのコマンドに対してgrcを自動的に使用したいと思います。私はzshをシェルとして使用します。
本質的に実行するたびにcommand -parameter 1 2 3
自動的にgrc command -parameter 1 2 3
。traceroute
grc traceroute
私は.zshrcのpreexecとprecmdの設定を調べましたが、あなたが望むことを達成する方法を見つけることができませんでした。
答え1
承認行ウィジェットをオーバーライドしてこれを実行できます。
add-grc() { [[ $BUFFER = grc* ]] || BUFFER="grc $BUFFER"; zle .$WIDGET "$@"; }
zle -N accept-line add-grc
ただし、「for i(..)」、「var = x」、「f(){」...などのコマンドでは問題が発生する可能性があります。
答え2
他の選択肢。同様の潜在的な問題:
TRAPDEBUG() { eval "grc $ZSH_DEBUG_CMD"; setopt errexit; }
ここで公開されているソリューションの例外を見つけようとするのではなく、「grc」を必要とするすべてのコマンドに「エイリアス」を使用します。
答え3
見つけることができるgrc.zsh
これらのいくつかを試してみてください。grc
ここ。サポートされているすべてのコマンドのエイリアスがあります。
これを見てスタックオーバーフロー回答