zsh ::「正しい」コマンドラインプロンプトを構成する

zsh



設定をいじってみると、右側のこのシェルあるコマンドラインを招待するための非常に興味深いソリューションに出会いました。 通常、そこに時計を置くのが慣習ですが、バッテリー充電通知機をそこに置くというアイデアもとても気に入りました。 充電レベルに応じて、通知機能は緑、黄色、または赤で表示されます。 何らかの理由で、アイデアの作者がpythonソリューションに引きずり込まれたので、ネイティブシェルですべてを書き直しました。

次のようになります。

コマンドラインプロンプト、zsh



以下のコードは、色( %F{…}



)を除き、ubuntuでテストされました。すべてがzsh



下のディストリビューションで動作する必要があります。 それでは始めましょう。

zsh



の正しいコマンドプロンプトは、 RPROMPT



環境RPROMPT



によって設定されRPROMPT



~/.zshrc



(または~/.oh-my-zsh/themes/_



oh-my-zshについて既に知っている場合)に配置する意味のあるコードを~/.oh-my-zsh/themes/_



ます。

 function battery_charge { # Battery 0: Discharging, 94%, 03:46:34 remaining bat_percent=`acpi | awk -F ':' {'print $2;'} | awk -F ',' {'print $2;'} | sed -e "s/\s//" -e "s/%.*//"` if [ $bat_percent -lt 20 ]; then cl='%F{red}' elif [ $bat_percent -lt 50 ]; then cl='%F{yellow}' else cl='%F{green}' fi filled=${(l:`expr $bat_percent / 10`::▸:)} empty=${(l:`expr 10 - $bat_percent / 10`::▹:)} echo $cl$filled$empty'%F{default}' } RPROMPT='[%*] $(battery_charge)'
      
      





仕事のアルゴリズムは、結婚前の期間のアメーバのように簡単です。

acpi



からバッテリー充電を受け取って解析しました( sudo apt-get install acpi



をインストールする必要があるかもしれません)。

-表示色を決定しました(赤、20%未満の場合、黄色-最大50%、それ以外-緑)。

-塗りつぶされた三角形がいくつ必要かを描画し、次に残り-塗りつぶされていない三角形を描画します。

-コマンドラインの右側のプロンプトに移動します。



このメモは、「3分を費やして、あなたの人生を永遠に便利にする」という原則の単なる例示です。 もちろん、あなたが私のような熟練したコンソールでない限り。 コードが「展示会に参加できる」状態になめられていないことは知っていますが、なぜそれが必要なのですか?



別の例として、前のコマンドのリターンコードを右側に表示します。

 RPROMPT='%{$fg[red]%} ⏎ $? %{$reset_color%} '$RPROMPT
      
      






All Articles