ターミナルの下部にあるステータスバーがPS1を置き換えます。

ターミナルの下部にあるステータスバーがPS1を置き換えます。

端末でタスクを実行すると、PS1が各コマンドを複数回繰り返すと思いました。私のPS1にはCWDとgit分岐が含まれており、時間がかなり長くなる可能性があります。

$ドル記号のみが表示されるようにPS1を設定し、他の情報を「ステータスバー」に移動するか、端末の下部に保持する方法はありますか?tmuxのステータスバーと非常に似ていますが、これらのビットは通常プロンプトの一部を構成します。

理想的には、.bashrcの変更のみを含むソリューションが欲しいが、どんな解決策でも可能です。私はインターネットを検索し、tmuxのgitブランチ(しかしCWD /他のビットはありません)と実際には機能しない非常に不安定な「時間のあるステータスバー」を見つけました。

質問例: ここに画像の説明を入力してください。

ベストアンサー1

提案は「概念証明」として理解されるべきであり、必ずしもターンキーソリューションではありません。改善/調整が必要な場合があります。

とにかくconsole_codesを使用しているようで、PS1いくつかの拡張機能を使用できます。以前のサイズ変更に関係なく、「ステータスバー」が画面下部に表示されるようにするには、一部のLINESシェル整数演算でシェル変数を使用してスクロール領域を縮小し、カーソル位置を保存/復元して画面下部に印刷します。 。努力する

CSI=$'\e'"["
PS1="\[${CSI}s${CSI}1;$((LINES-1))r${CSI}$LINES;1f\u:YourOutputGoesHere:\w${CSI}K${CSI}u\]>"

PS1 シェル変数と関数コードを扱う際にはいくつかの既知の注意事項がありますが、ここでは必ずしも考慮しているわけではありませんが、例えば次のようになります。他のスレッド、該当するフォーラムを検索し、必要に応じてマージします。

おすすめ記事