私はzshシェルを使用し、パラメータは%1~
プロンプトの中にあります。ディスプレイは/home/username
表示されなくなり、~
に/home/username/Desktop
のみ変更されますDesktop
。
プロンプト表示パスの長さは~
1文字にすぎませんが、/home/username
14文字が必要なので、プログラムでインポートする必要があります。仕事を複雑にすることなくこれを行う方法はありますか?
答え1
プロンプトの外部でプロンプト拡張を実行するには、次のものがあります。
print -rP %1~
または:
print -rPv expanded %1~
拡張変数に保存されます。
または、%
パラメーター拡張フラグを使用してください。
var=%1~
print -r -- ${(%)var}
または変数に保存します。
expanded=${(%)var}
文字の長さを取得するには:
length=${#${(%)var}}
ただし、色/太字/イタリック体...ディレクティブがある場合、長さには色エスケープシーケンスの文字も含まれ、拡張表示幅のヒントは得られません。