Macターミナルのプロンプト表示をフォルダパスのみに変更する
ターミナルのプロンプト、初期状態では [ユーザー名@PC名 現在のディレクトリ名]
のような表示になっていますよね。
ここにさらにブランチ名なんて表示されようものなら、長すぎてコマンドが折り返すこと必至です。
このプロンプト表示を変更するため、.bash_profile
を編集してみたので、手順を残しておこうと思います。
変更後のプロンプトと.bash_profileに追記した記述
最終的にこんな感じの表示にしました。
/User/ユーザー名/.bash_profile
に追記したのは下記の一行です。
export PS1='[\e[32m]\w[\e[31m]$(__git_ps1 " (%s)")[\e[0m]\$ '
.bash_profile を作成
ここから手順について、残していきます。
まず /User/ユーザー名/
のフォルダに、.bash_profile
が存在するか確認します。
(ユーザー名
の部分はお使いのPCのユーザー名に変更してください。)
$ ls /Users/ユーザー名/.bash_profile
ファイルパスが表示されれば、存在するので編集していきます。
.bash_profile
がない場合は下記コマンドで作成しましょう。
$ touch /Users/ユーザー名/.bash_profile
.bash_profile を編集
vimで .bash_profile
を編集します。
(隠しファイルを表示させてから、普通にファイルをエディタで開いて編集しても大丈夫です。)
$ vim /User/ユーザー名/.bash_profile
(キーボードを半角英数字にしてから)i
と入力して編集モードにします。
一番下に「– INSERT –」と表示されていれば編集できます。
保存は、「esc」キーを押して、編集モードから抜けてから、:wq
を入力して「Enter」キーを押せばOKです。
何かエラーが表示されて保存できないときは、:wq!
で強制保存できます。
保存しないで終了する場合は :q
で「Enter」すれば戻れます。(エラーが出て終われない場合は :q!
)
フォルダパスのみ表示させる
/User/ユーザー名/.bash_profile
に、下記のように記述して保存します。
export PS1='\w \$ '
変更を適用するために、.bash_profile
を実行します。(ターミナル再起動でもOK)
$ source /Users/ユーザー名/.bash_profile
ファイルパスのみが表示されるようになります。
ちなみに、\w
を \W
(大文字)に変更すると、現在のディレクトリ名のみが表示されるようになります。
export PS1='\W \$ '
Gitのブランチ名を表示させる(.git-prompt.sh の設定が終わっている場合)
/User/ユーザー名/.bash_profile
に下記のような記述がすでにある場合、
source /usr/local/etc/bash_completion.d/git-prompt.sh
source /usr/local/etc/bash_completion.d/git-completion.bash
GIT_PS1_SHOWDIRTYSTATE=true
/User/ユーザー名/.bash_profile
の上記記述の下に、下記のような一行を記述して保存します。
export PS1='\w $(__git_ps1 "(%s)") \$ '
変更を適用するために、.bash_profile
を実行します。(ターミナル再起動でもOK)
$ source /Users/ユーザー名/.bash_profile
ファイルパスの後に「()」でブランチ名が表示されるようになります。
「()」ではなく「<>」にしたいという場合は、"(%s)"
の部分を "<%s>"
に変更すればOKです。
export PS1='\w $(__git_ps1 "<%s>") \$ '
Gitのブランチ名を表示させる(.git-prompt.sh の設定が終わっていない場合)
まず git-prompt.sh
と git-completion.bash
が存在するか確認します。
(ブランチ名を表示させるだけなら git-completion.bash
は必要ありませんが、一緒に設定してしまいます。不要な場合は git-completion.bash
の部分は無視して進めてください。)
$ ls /usr/local/etc/bash_completion.d/git-prompt.sh
$ ls /usr/local/etc/bash_completion.d/git-completion.bash
ファイルパスが表示されれば存在するので、ダウンロードは不要です。
ない場合は、下記コマンドでダウンロードを行います。
$ curl -O https://raw.githubusercontent.com/git/git/master/contrib/completion/git-prompt.sh
$ curl -O https://raw.githubusercontent.com/git/git/master/contrib/completion/git-completion.bash
現在のフォルダにダウンロードされるので、下記コマンドで移動 git-prompt.sh
と git-completion.bash
を移動します。
$ mv git-prompt.sh /usr/local/etc/bash_completion.d/
$ mv git-completion.bash /usr/local/etc/bash_completion.d/
/usr/local/etc/bash_completion.d/git-prompt.sh
と /usr/local/etc/bash_completion.d/git-completion.bash
が準備できたら、/User/ユーザー名/.bash_profile
に下記を追記します。
source /usr/local/etc/bash_completion.d/git-prompt.sh
source /usr/local/etc/bash_completion.d/git-completion.bash GIT_PS1_SHOWDIRTYSTATE=true
export PS1='\w $(__git_ps1 "(%s)") \$ '
ファイルパスの後にブランチ名が表示されるようになります。
プロンプトに色を付ける
ANSIエスケープコードというものを記述して色を指定することができます。
例えば、フォルダ名を緑色、ブランチ名を赤色にする場合は、下記のように記述します。
export PS1='\[\e[32m\]\w \[\e[31m\]$(__git_ps1 "<%s>") \[\e[0m\]\$ '
\[\e[整数m\]
で指定しています。
整数部分の数字は0〜107まであり、数字によって太字にしたり、文字色を変更したり、背景色を追加したりできます。
今回の場合、\w
の前に 文字色を緑色にする \[\e[32m\]
を追加し、
$(__git_ps1 "<%s>")
の前に文字色を赤色にする \[\e[31m\]
を追加しました。
そして \$
の前に全ての指定をリセットする \[\e[0m\]
を追加しています。
コードの詳細は、英語版のWikipedia ANSI escape code の項目で確認できます。
(英語がわからなくても、「SGR parameters」や「Colors」の表でなんとなく数字がわかると思います。)
さいごに
HTMLタグのように結構簡単に色をつけたりできるんですね。
斜体にしたり背景色を付けたりもできて、結構自分好みにカスタマイズできそうです。