配置できません“ X” Zshのジョブの数を示すために右のプロンプトへ

StackOverflow https://stackoverflow.com/questions/815652

  •  03-07-2019
  •  | 
  •  

質問

この記事のコードは私のために働きます。すべてのコードを.zshrcに貼り付けました。

.zshrc

に次のものがあります
RPROMPT='%{\[0;33m%}%1v%{\[0m%}'

ジョブがあるかどうかを示す必要があります。しかし、それは私にはそれをしません。

ジョブが実行中であることを示すために、右側のプロンプトにXを取得したい。

Zshに複数のジョブがある場合、Xを表示する正しいプロンプトを表示するにはどうすればよいですか

役に立ちましたか?

解決

設定していない $ psvar 変数を使用しようとしているため、使用しているコードは機能しません。おそらくその記事はそれをどこか他の場所で言及していました。

とにかく、 RPROMPT のジョブ数を表示するには、

を使用します
<*>gt; RPROMPT="%1(j.X.)"
gt; RPROMPT="%j Job(s)"

少なくとも1つのジョブが実行されている場合に「X」を表示するには、次を使用します

<*>

zshmisc マンページのPROMPTセクションをご覧になるか、リンクをご覧ください: http://www.manpagez.com/man/1/zshmisc/ 。プロンプトに情報を表示するために使用できるすべての展開シーケンスについて説明します。

他のヒント

ANSIエスケープシーケンスから余分な左括弧が欠落しているように見えますが、 \ [が期待どおりに動作しているとは思いません。

これが欲しいものです:

RPROMPT="%(1j.%{^[[33m%} X%{^[[0m%}.)"

ただし、バックグラウンドにあるジョブの数 を示すプロンプトの方が便利な場合があります。

RPROMPT="%(1j.%{^[[33m%} (%j jobs)%{^[[0m%}.)"

:上記の ^ [はリテラルエスケープ文字&#8212;例: 0x1B 。コマンドライン(またはVimを使用して .zshrc を編集している場合はVimの挿入モード)でControl-Vを入力し、Control- [を押してエスケープ文字を挿入します。

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top