bashプロンプトで他の情報(gitなど)と一緒に作業ディレクトリ全体を表示することは時々非常に長くなります。
次の行にコマンドを入力できるように、プロンプトの末尾に改行文字を追加したいのですが、プロンプトが非常に長い場合にのみたとえば、50文字を超えています。
| ~ $ Typing a command here is nice |
| ~/foo/longDirectoryName/longsubirectory/src/package (master +*) $ Typing here s|
| ucks. I want to just start on a new line |
私が望むなら明らかにいつも次の行にコマンドを入力すると、改行文字を追加できますPS1
。この投稿)。ただし、PS1
これはフォーマット文字列にすぎず、条件付きでこれを行う方法が見つかりませんでした。
PS 私は実際にZSHを使用してAgnosterテーマをカスタマイズしようとしていますが、通常bash関連のソリューションが役に立つと思います。
ベストアンサー1
ではzsh
これが%<number>(l:<yes>:<no>)
迅速な拡張のためのものです。数値が負の場合、たとえば-30
画面の右端に30文字以上が残っている場合はyes
テキストを出力し、そうでない場合はno
次のようにします。
PS1=$'%~%-30(l::\n)$ '
"$ "
行に使用できる文字が28文字未満の場合(30 - )、改行文字が挿入されます。
あなたはあなたのことができます50以上そして:
PS1=$'%~%50(l:\n:)$ '
しかし、私の考えでは、利用できない最大スペースを確保するよりも、最小限の空きスペースを確保する方が便利です。
バラより手動もっと学ぶ。長いプロンプトを切り取り、省略記号に置き換える方法の他のガイドラインもあります。これらのガイドラインも役に立ちます。
zshプロンプトはbash
実際には解決策に近いtcsh
ため、解決策がbash
役に立つ可能性は低くなりますzsh
が、一般的にその逆はより正確です。