Zsh: vared -p コマンドで色を変更する

Zsh: vared -p コマンドで色を変更する

私は試した:

vared -p '"$(print \"\e[1;31test\")" something' -c tmp

出力エコー"$(print \"\e[1;31test\")" something

testしかし、ここでは単語の色を変えたいと思います。達成する方法?

答え1

急速に拡大する主張を理解すると、-p次のようになります。

var=; vared -p '%B%F{red}something%f: ' var
  • %B:(太字はboldやめる%b
  • %F{red}:赤い前景(%K背景用)。
  • %f:デフォルトの前景色を復元します。

行為:

vared -p $'\e[1;31msomething: ' var

これは、プロンプトの幅が実際に11列のとき(見えないので)、幅が18列だと思わせてカーソル位置をvared -p "$(printf '\e[1;31msomething: ')"だますので悪い考えと同じです(質問のバージョンで修正される)。 。zle\e[1;31m

答え2

-pこれは、zshからモジュールをロードした後に二重引用符を使用して達成できます。colors

関連情報