web-dev-qa-db-ja.com

プロンプト定義を複数行にする方法はありますか?

これは私の現在のプロンプト定義です:

PS1=$'%F{063}%1~%f %(1v.%F{099}%1v %f.)%F{063}%%%f '
RPROMPT='$VIMODE %m'

そして私は統合に取り組んでいます this 。基本的に私はそれが非常に読めないことに気づき始めています。

Perlが正規表現で実行できるのとおそらく同じ方法で複数行にする方法はありますか(たとえば、/ xモードの機能。m{ ... }xのように。...はその中で複数行にすることができます) ?

このようなもの:

PS1=$'
   %F{063}%1 # format blue
      ~      # show current directory
   %f
   %(1v.%F{099}%1v %f.) # show git branch if git repo in purple
   %F{063}   # format blue
      %#     # % for user and # for root
   %f '
RPROMPT='$VIMODE %m'
3
xenoterracide

あなたは次のようなことをすることができます:

PS1='%F{063}%1' # format blue
PS1=$PS1'~'     # show current directory
PS1=$PS1'%f'
PS1=$PS1'%(1v.%F{099}%1v %f.)' # show git branch if git repo in purple

等。?

8
JanC

あなたはおそらく迅速な答えを望んでいるので、ここに解決策があります

PS1=$'\
%F{063}%1\
~\
%f\
%(1v.%F{099}%1v %f.)\
%F{063}\
%#\
%f '

ただし、文字列内でコメントすることはできませんのでご注意ください

1
Daniel Hill