Saturday, September 10, 2011

BashのPromptに色をつけたら、改行がおかしい問題の解決

BashのPromptに色をつけることが可能だということは知っていますか?色をつけたら、非常に見やすくなります。ただし、色をつける時、正しく設定しないと、長いコマンドの改行がおかしくなることが起こします。次のような改行が出てくるかもしれないですよ。

<図1:改行が間違っている状態のコマンドライン>

では、この状態の環境変数PS1を見てみましょう:



本当はこのようなことが欲しいです。
<図2:改行が正しい様態のコマンドライン>

この場合の環境変数PS1の設定を見てみましょう。



非常に不便ですが、解決方法が意外と簡単です。その解決方法の肝は\[\]の意味を理解することです。Bashで\[\]の意味は「Bashで長さの計算に除外する」です。正しい表示できるときのPS1の設定を見てみたら、すべての色設定


\e[foregroundColor:backgroundColorm

\[\]に包まれています。つまり、色設定の記号は全部カウントされないようにしました。故に、正しい表示が出来ました。いわば、次のように覚えておくと正しい色表記ができます。


\[\e[foregroundColor:backgroundColorm\]


具体的な色の値は「このページ」をご参照ください。

本稿が皆さんのMacのコマンドラインをもっとわかりやすくにして、仕事の効率向上に少し役に立てば嬉しく思います。

No comments:

Post a Comment