web-dev-qa-db-ja.com

Zshでプロンプトを短くする

プロンプトを短くするためにzshを取得するのに多くの問題があります。私は現在、agnosterテーマとoh-my-zshパッケージマネージャーでzshを使用しています。

私のプロンプトは現在、作業中に煩わしく長くなり、通常は約110文字で、端末の全長を占めますが、これは見た目があまり良くありません。

他の数人の.zshrcを調べて、プロンプトを変更しようとしましたが、私の場合は何も機能していないようです。 .zshrcに多くのことをコピーしようとしましたが、効果は見られませんでした。

私の最近の試みは、Promptブロックを https://stackoverflow.com/a/171564/2416097 からコピーしようとしたことです。

何もありません。このブロックを含めてテーマを無効にしても、プロンプトは完全な長さのままです。

さらに、そもそもプロンプトをフォーマットする方法についての簡単でわかりやすいガイドが見つからないようです。検索中に見つけた結果のほとんどは、使用に関する説明や指示がなく、長い形式の文字列しか生成しませんでした。

助けていただければ幸いです。

11
bgenchel

古い質問ですが、私が発見した別の解決策として powerlevel9k 、この機能が組み込まれているagnosterの拡張機能(実質的に同じように見えますが、かなりの調整が加えられています)。

それをzshテーマとして設定し、次に.zshrcセットで設定します。

POWERLEVEL9K_SHORTEN_DIR_LENGTH=2

これにより、2つのディレクトリのみがリストされます。

代替オプションの概要は、Readmeに記載されています。

23
Charlie Taylor

まず、テーマを好みに合わせてカスタマイズするために、テーマを別のテーマにコピーする必要があります。

  • agnoster.zsh-themeを例にコピーします。 mytheme.zsh-themeそして.zshrcでそれを選択します
  • 次に、テーマを好みに合わせて変更します

agnostertheme を見て、スペースを節約できる場所を見つけました。

Prompt_dir() {
    Prompt_segment blue $PRIMARY_FG ' %~ '
}

に変更される可能性があります

Prompt_dir() {
    Prompt_segment blue $PRIMARY_FG ' %25<...<%~%<< '
}

これにより、パスが25文字に切り捨てられ、さらに...に置き換えられます。これがどのように機能するかについては、zshマニュアル(以下にリンク)で説明されています。

簡単な説明は次のとおりです。

  • %25<...<は、25文字を超えるすべてのものを...に切り捨てます。
  • %<<は基本的に、これ以降は切り捨ててはならないことをzshに通知します(切り捨てをパス部分に制限します)

スペースを節約できる場所をもっと見つけるのはあなたに任せます。

さらにカスタマイズが必要な場合は、 zsh:13 Prompt Expansion を参照してください。

12
AnimiVulpis