ターミナル出力にスペースやパディングを追加するには?

ターミナル出力にスペースやパディングを追加するには?

この仕事の責任は誰にあるのか本当に分からない。私のターミナルエミュレータ自体(私はKitty)に歩いていましたが、これはZsh(またはOh My Zsh)またはPowerlevel10kの責任です。

とにかく、私がやりたいことは、入力行と出力の先頭の間にいくつかのスペースを追加することです。そして、Powelevel10k入力ラインが出力と垂直に整列するようにパディングを追加します。右のパディングも素晴らしいです。

端末プロンプトに関する私の考えのスクリーンショット

答え1

私の端末エミュレータ自体に歩きます。

いいえ、そうではありません。端末エミュレータの使命は、受け取ったコマンドを正しく実行することです。何も上書きできず、不要な場所にスペースを挿入したり、必要な場所にスペースをスキップすることはできません。

(しかし、他のターミナルエミュレータをすぐに実行して、Kittyが空の行を挿入しているかどうか100%確実な動作を確認できます。)

ただし、これはZsh(またはOh My Zsh)またはPowerlevel10kの責任です。

はい。

一番下にあるものできる以前のユーティリティ(git statusこの場合)はそこに空白行を印刷しましたが、gitここではそうではありません。

とにかく、私がやりたいことは、入力行と出力の先頭の間にいくつかのスペースを追加することです。

理論的には、シェルはこれを行うことができます。どのシェルがこれをデフォルトでサポートしているのか、パッチが必要なのかはわかりません。

そして、Powelevel10k入力ラインが出力と垂直に整列するようにパディングを追加します。

インデントユーティリティの出力はほとんど希望がありません。忘れて。 (一部の端末エミュレータの左/右の境界線のサポートなど、限られた可能性がありますが、画面の幅に合わせて出力形式を指定する多くのアプリケーションを使用しようとすると中断されます。または誰もが説得する必要があります。インデントします。)

しかし、「私の出力は私のPowelevel10k入力ラインと垂直に整列します」ではなく、「だから私のPowelevel10k入力ラインは私の出力と垂直に整列します」と質問を表現するのは興味深いものです.もちろん、プロンプトをインデントせずに変更できます。これはユーティリティの出力と一致します。

関連情報