お前らのターミナルはダサいを読んで、
「確かにダサい。ダサいしお寿司食べたい。」と思ったのでターミナルの入力待ちをお寿司にしてへいお待ちって感じにした。
before
after
手順
兎にも角にもまずお寿司
.zshrc
を編集していきます。ユーザホームディレクトリにあると思います。なければ作りましょう。
vim ~/.zshrc
PROMPT='🍣'
PROMPT
はプロンプトの左側に何を表示するのかを設定する項目になります。
編集が終わったらsource
で読み込みます。
source ~/.zshrc
お寿司です。お寿司が出ましたね。
ちなみに、絵文字はcmd
+ctrl
+space
で入力できます。(キー配列によって異なるかも)
カレント表示したい
さて、最大の目的のお寿司は出せたものの、これではお寿司だけに完全にネタになってしまいますね。
カレントを出していきましょう。.zshrc
を編集して再度読み込みましょう。
PROMPT='%~ 🍣'
%~
はカレントパスを示します。
今何時?
お寿司に夢中になって時間を忘れてしまいそうなので右側に時間を出します。
RPROMPT='%D{%H:%M:%S}'
PROMPT='%~ 🍣'
RPROMPT
は、PROMPT
が左側だったのに対して、プロンプトの右側に何を表示するのかを設定する項目になります。
%D
は時間を示し、続く{%H:%M:%S}
はフォーマットになります。
ブランチ名も欲しい
一応エンジニアなのでブランチ名も出していきましょう。
ブランチ名の取得は下記のコマンドで取得できます。これを使っていきます。
git rev-parse --abbrev-ref HEAD
function git-current-branch {
local branch_name
branch_name=`git rev-parse --abbrev-ref HEAD 2> /dev/null`
if [ -n "$branch_name" ]; then
echo $branch_name
fi
}
setopt prompt_subst
RPROMPT='%D{%H:%M:%S}'
PROMPT='%~ `git-current-branch` 🍣'
少し煩雑な処理なのでfunctionにまとめています。
setopt prompt_subst
は変数展開をしてくれる設定です。
git管理されているディレクトリではブランチ名が表示されるようになりましたね。
お寿司の位置を固定したい
パスが長くなればなるほど、ブランチ名が長くなればなるほど、
お寿司が右に追いやられていって可哀想なので固定します。
と言っても改行するだけ。
function git-current-branch {
local branch_name
branch_name=`git rev-parse --abbrev-ref HEAD 2> /dev/null`
if [ -n "$branch_name" ]; then
echo $branch_name
fi
}
setopt prompt_subst
RPROMPT='%D{%H:%M:%S}'
PROMPT='%~ `git-current-branch`
🍣'
お寿司の定位置ができました。安心しますね。
色々もっと目立たせたい
お寿司があると言えども白黒だと見難いので色をつけたり太文字にしたりしていきます。
文字色の指定には%F{カラーコード}対象文字%f
、
背景色の指定には%K{カラーコード}対象文字&k
、
太字にするには%B対象文字%b
を使います。
カラーコードは256 COLORS - CHEAT SHEETから探すと良いかと。
function git-current-branch {
local branch_name
branch_name=`git rev-parse --abbrev-ref HEAD 2> /dev/null`
if [ -n "$branch_name" ]; then
echo "%B%F{29}%f%K{29}%F{15} $branch_name %f%k%b"
fi
}
setopt prompt_subst
RPROMPT='%F{99}%D{%H:%M:%S}%f'
PROMPT='%F{33}%~%f `git-current-branch`
🍣'
カラフルになり、お寿司がなじみましたね。
仕上げ
あとはもう個人の好みで仕上げてしまいましょう。
function git-current-branch {
local branch_name
branch_name=`git rev-parse --abbrev-ref HEAD 2> /dev/null`
if [ -n "$branch_name" ]; then
echo "%B%F{29}◀%f%K{29}%F{15} $branch_name %f%k%b"
fi
}
setopt prompt_subst
RPROMPT='%F{99}%D{%H:%M:%S}%f'
PROMPT='%F{33}%~%f `git-current-branch`
🍣 ▶ '
完成。お寿司食べたい🍣