【Powerlevel10k】Transient promptの設定をしてみる

2023.09.17
2024.03.24
開発環境
zsh

はじめに

Powerlevel10k で Trasient prompt の設定をしていきたいと思います。

unknown link

Powerlevel10k の基本的な設定に関しては下記を参考にしてください。

unknown link

設定内容

設定した後のイメージは下記のようになります。

ポイントとしては、

  • 実行したコマンドと結果がシンプルになる
  • コマンドと結果ごとに改行が入る
  • 実行した時間が表示される

になります。

Transient prompt

Transient prompt は、実行したコマンドと結果をシンプルに表示してくれる Powerlevel10k のプロンプトの設定です。

unknown link

下記のように.p10k.zshPOWERLEVEL9K_TRANSIENT_PROMPTの設定をalwayssame-dirに変えることで有効にできます。

1  typeset -g POWERLEVEL9K_TRANSIENT_PROMPT=always

コマンドごとに改行を入れる

デフォルトの Transient prompt だと少し見にくく感じるので、コマンドと結果ごとに改行を入れるようにします。

まず、先ほど.p10k.zshで設定したPOWERLEVEL9K_TRANSIENT_PROMPToffに戻します。

1  typeset -g POWERLEVEL9K_TRANSIENT_PROMPT=off

次に、POWERLEVEL9K_PROMPT_ADD_NEWLINEtrueに設定していない場合は設定します。

1  typeset -g POWERLEVEL9K_PROMPT_ADD_NEWLINE=true

同じ.p10k.zshで、下記の関数を追加します。

1function p10k-on-pre-prompt() { p10k display '1'=show }
2function p10k-on-post-prompt() { p10k display '1'=hide }

これで、コマンドと結果ごとに改行を入れることができました。

実行した時間を残す

ついでに、過去のコマンドの実行した時間も残したいと思います。

プロンプトの左側に時間を表示したいので、左側のプロンプトの要素にtimeを追加します。

1
2  # The list of segments shown on the left. Fill it with the most important segments.
3  typeset -g POWERLEVEL9K_LEFT_PROMPT_ELEMENTS=(
4    # =========================[ Line #1 ]=========================
5    os_icon                 # os identifier
6    dir                     # current directory
7    vcs                     # git status
8    kubecontext             # current kubernetes context (https://kubernetes.io/)
9    # =========================[ Line #2 ]=========================
10    newline                 # \n
11    time                    # 追加
12    prompt_char             # prompt symbol
13  )

先ほど、追加したp10k-on-pre-promptp10k-on-post-promptの関数の下記の通り更新します。

1function p10k-on-pre-prompt() { p10k display '1'=show '2/left/time'=hide }
2function p10k-on-post-prompt() { p10k display '1'=hide '2/left/time'=show }

これで最初のイメージ通りの設定が完了しました。

参考用に私の dotfiles の設定ものせておきます。

unknown link

参考

Support

\ この記事が役に立ったと思ったら、サポートお願いします! /

buy me a coffee
Share

Profile

author

Masa

都内のIT企業で働くエンジニア
自分が学んだことをブログでわかりやすく発信していきながらスキルアップを目指していきます!

buy me a coffee