powerline
たまに見かけるこんな感じのカッコいい表示。powerlineというやつを使います。
導入エントリを見るとだいたいvimがーとかtmuxがーとか出てくる。
ただターミナルをカッコよくしたいだけなのにbundleだーNeoBundleがーとかfontforgeでFontにパッチをあててーとか、手間が多い!
めんどくさいインストールとか設定とかはできるだけやりたくない。
今すぐカッコよくしたい、そんなあなたに。
powerline-shell
powerline-shellを使えばすぐにカッコよくなります。
step1 フォントをダウンロードしよう
powerlineでカッコいい表示にするにはフォントにパッチをあてるという一手間が必要ですが、パッチを当てたフォントを公開してくれてるのでそこからダウンロードしましょう。
今回はSourceCodePro
フォルダにあるSauce Code Powerline Light.otf
をダウンロードします。
ダウンロードしたフォントはFont Book
でインストールするか/Liblary/Fonts/
に入れてください。
step2 ターミナルのフォントを変更する
ダウンロードしてインストールしたフォントに変更します。
ターミナルを開いてcmd+,
で設定画面がでるので、そこでフォントの選択画面に行き、Source Code Pro for Powerline
を選択します。
step3 powerline-shellをクローンしてインストール
クローンします。
$ git clone https://github.com/milkbikis/powerline-shell
クローンしたpowerline-shell
フォルダに移動してinstall.py
を実行します。
$ cd ./powerline-shell
$ ./install.py
install.py
を実行するとpowerline-shell.py
が作られます。
step4 powerline-shell.pyにシンボリックリンクを貼る
ln -s
のあとに続いて第二引数にpowerline-shell.py
がある場所のパスを入れます。
そして第三引数に ~/powerline-shell.py
とシンボリックリンクを貼る場所を指定します。
$ ln -s path/to/powerline-shell.py ~/powerline-shell.py
step5 .bashrc(.zshrc)からpowerline-shellを呼ぶ
ホームディレクトリ(~/)にある.bashrc
を編集します。ない人は
$ touch ~/.bashrc
などを実行して作ってください。
編集する
.bashrc
に下記のコードを追加してください。
function _update_ps1() {
export PS1="$(~/powerline-shell.py $? 2> /dev/null)"
}
export PROMPT_COMMAND="_update_ps1; $PROMPT_COMMAND"
追加したあと反映するためにターミナルを閉じて開き直すか
$ source .bashrc
を実行してください。
おつかれさまでした
これであなたのターミナルもカッコよくなったはずです。so easy。
表示項目変えたい、配色がイケてない、と思う人はconfig.py
とpowerline-shell.py
をイジってカスタマイズしましょう。
zsh使ってるって人はpowerline-shell
のページに書いてあるやり方を見てください。
おまけ
表示項目のカスタマイズ
powerline-shell
フォルダにあるconfig.py
を開くと以下のような記述が並んでます。
…
# Show current virtual environment (see http://www.virtualenv.org/)
'virtual_env',
# Show the current user's username as in ordinary prompts
'username',
# Show the machine's hostname. Mostly used when ssh-ing into other machines
'hostname',
# Show a padlock when ssh-ing from another machine
'ssh',
# Show the current directory. If the path is too long, the middle part is
# replaced with ellipsis ('...')
'cwd',
…
並んでる項目からなんとなくあたりを付け、行の先頭に#
を付けてコメントアウトします。
編集したらinstall.pyを実行する
config.py
を編集したあとはinstall.py
をもう一度実行する必要があります。
$ ./install.py
これでターミナルで新しいタブを開くと反映されます。
色をカスタマイズ
色の変更はpowerline-shell.py
をいじります。
エディタで開いて177行目あたりにこんな記述があります。
class DefaultColor:
"""
This class should have the default colors for every segment.
Please test every new segment with this theme first.
"""
USERNAME_FG = 250
USERNAME_BG = 240
HOSTNAME_FG = 250
HOSTNAME_BG = 238
HOME_SPECIAL_DISPLAY = True
HOME_BG = 31 # blueish
HOME_FG = 15 # white
PATH_BG = 31 # dark grey
PATH_FG = 250 # light grey
CWD_FG = 254 # nearly-white grey
SEPARATOR_FG = 244
READONLY_BG = 124
READONLY_FG = 254
SSH_BG = 166 # medium orange
SSH_FG = 254
REPO_CLEAN_BG = 148 # a light green color
REPO_CLEAN_FG = 0 # black
REPO_DIRTY_BG = 161 # pink/red
REPO_DIRTY_FG = 15 # white
JOBS_FG = 39
JOBS_BG = 238
CMD_PASSED_BG = 236
CMD_PASSED_FG = 15
CMD_FAILED_BG = 161
CMD_FAILED_FG = 15
SVN_CHANGES_BG = 148
SVN_CHANGES_FG = 22 # dark green
VIRTUAL_ENV_BG = 35 # a mid-tone green
VIRTUAL_ENV_FG = 00
…
BG
が背景色でFG
が文字色です。
パスが表示されてる部分の色を変更したい場合はPATH_BG
とPATH_FG
の色番号を変更してください。
Gitのブランチ名の色を変更したい場合REPO_CLEAN_BG
やREPO_DIRTY_BG
の色をいじってください。
install.py
の再実行は必要ありません。
ターミナルで新しいタブを開いたら反映されています。
色番号は bash/zshで16色(ANSI カラーコード)と256色のカラーパレットを表示 を見ながらやるとやりやすいです。
おわり
とっても簡単にターミナルがカッコよくなりました。
でもなんか遅く感じたりちょっともっさりしたなと思ったら powerline-daemon を入れると良いらしいです。
参考: POWERLINE が重いとか都市伝説を信じてる奴ってまだいるの?(5日目 POWERLINE-DAEMON 編)