0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 5 years have passed since last update.

zshのプロンプトカスタマイズにおいてエスケープシークエンスに戸惑ったのでまとめておく

Posted at

zshプロンプトのカスタマイズ中にハマったのでメモ

やりたかったこと

Screenshot from 2017-12-10 19-15-00.png

コマンドに成功したら青いシャキーンが、失敗したら赤いショボーンが出てくるプロンプトです

確実に失敗するコマンドがパッと思いつかなかったのでnot foundになりそうなのを打ってます。

失敗例

SHOBON='(´・ω・`)'
SHAKIN='(`・ω・´)'

PROMPT='%(?.%F{cyan}$SHAKIN.%F{red}$SHOBON%)%f %B%F{green}%n@%M%f%b: (%F{blue}%D %*%f) [${vcs_info_msg_0_}]
%B%F{blue}%~%f%b $ '

こちらが失敗例のコード

スクショ撮り忘れましたが、コマンド成功時に

(`・ω・´))

このようにカッコが二重になります。

成功例

SHOBON=$'\(´・ω・\`%)'
SHAKIN=$'\(\`・ω・´%)'

PROMPT='%(?.%F{cyan}$SHAKIN.%F{red}$SHOBON) %f %B%F{green}%n@%M%f%b: (%F{blue}%D %*%f) [${vcs_info_msg_0_}]
%B%F{blue}%~%f%b $ '

こちらなら上記写真のようになります。

今回の学び

2つを比べてどう違うかといえば、成功例では閉じカッコが%でエスケープされている点です。

今回の失敗は、shellのエスケープシークエンスと、zshpromptのエスケープシークエンスを混同したことからおこったものでした。

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?