私は試した:
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