はじめに
もともとはgitのカレントブランチを常に表示したいという願望からいろいろ調べてたらPowerlineにたどり着きました。
Version | |
---|---|
macOS | Mojave 10.14.6 |
python | 2.7.15 |
Powerlineとは?
いい感じにターミナルの表示をかっこよくしてくれるツール、らしい。
ゴールイメージ
- 端末名、ユーザーが不要なので表示しない
- gitのカレントブランチを表示する
- コマンド行で改行する
Powerline-shellの設定
インストール
公式リポジトリに沿ってインストールしていきます。
pipからインストールする方法もありますが、今回はgithubからcloneしてくる方法で進めます。
# 任意のディレクトリで実行
git clone https://github.com/b-ryan/powerline-shell
cd powerline-shell
python setup.py install
powerline-shell
とコマンドを打ってわけの分からない文字列が出力されればOK。
$ powerline-shell
\[\e[38;5;250m\]\[\e[48;5;240m\] \u \[\e[48;5;238m\]\...
ターミナルへの反映
自分はbashを使っているので、readmeを参考にbash用の設定をします。
以下を.bashrcに追加or新規作成します。
function _update_ps1() {
PS1=$(powerline-shell $?)
}
if [[ $TERM != linux && ! $PROMPT_COMMAND =~ _update_ps1 ]]; then
PROMPT_COMMAND="_update_ps1; $PROMPT_COMMAND"
fi
また、.bash_profileに.bashrcを読み込む設定を書き加えます。
if [ -f ~/.bashrc ] ; then
. ~/.bashrc
fi
ここまで設定したら、source ~/.bash_profile
を実行して設定を反映させるとプロンプトの表示が変わるはず。
(すごい文字化け...)
フォントの設定
インストール
文字化けを解消するためpowerline用のフォントをインストールします。
今回はSourceCodePro
を使います。
コマンドでインストールする方法がよく分からなかったのでFinder上からインストールします。
リポジトリからzipファイルをダウンロードして解凍、対象のフォントを選択してFontBookで開くとフォントをインストールできます。
設定
ターミナルの設定で利用フォントをSourceCodePro
を指定します。
画像はiTerm2の場合です。
これで文字化けせずに表示されるようになりました。
表示項目の設定
表示項目をカスタマイズしていきます。
- ユーザー名、端末名は表示しない
- コマンド行で改行する
configファイルの生成
設定を変更するためのconfigファイルを作成します。
mkdir -p ~/.config/powerline-shell && \
powerline-shell --generate-config > ~/.config/powerline-shell/config.json
configファイルの編集
ユーザー名と端末名を示す項目を削除します。
{
"segments": [
"virtual_env",
- "username",
- "hostname",
"ssh",
"cwd",
"git",
"hg",
"jobs",
"root"
]
}
即設定が反映されて、ユーザー名と端末名が消えました。
.bashrcの編集
コマンド行で改行するために.bashrc
に手を加えます。
function _update_ps1() {
- PS1=$(powerline-shell $?)
+ PS1="$(powerline-shell $?)\n$ "
}
source ~/.bashrc
で設定を反映させると、コマンド行で改行するようになりました。
1行目の$マークを消せればいいんですけど消し方が分からず。。
色の設定
色設定にも手を加えてみます。
テーマファイルの作成
色を変更するためのテーマファイルを作成します。
テーマファイル群はpowerline-shellを解凍したディレクトリから./powerline_shell/themes
にあります。
今回はデフォルトの色設定を少し調整したいので、ファイルをコピーします。
cp default.py mytheme.py
テーマファイルの指定
コピーしたテーマを利用するように指定します。
ディレクトリは解凍先により変わります。
{
"segments": [
"virtual_env",
"ssh",
"cwd",
"git",
"hg",
"jobs",
"root"
],
+ "theme": "~/tools/powerline-shell/powerline_shell/themes/mytheme.py"
}
テーマファイルの編集
先ほど作成したmytheme.py
を編集します。
デフォルトだとgitブランチに変更点がある場合にブランチの背景がピンクになるんですが、
常にグリーンで表示したいので変更します。
BGが背景色でFGが文字色です。
REPO_CLEAN_BG = 148 # a light green color
REPO_CLEAN_FG = 0 # black
- REPO_DIRTY_BG = 161 # pink/red
- REPO_DIRTY_FG = 15 # white
+ REPO_DIRTY_BG = 148
+ REPO_DIRTY_FG = 0
ブランチ部分の表示色が変わりました。
カラーのテスト
色と数値がどう結びついてるのかよく分からないんですけど、色の確認ができる仕組みが用意されてます。
解凍したpowerline-shellフォルダにあるcolortest.py
を使います。
引数を元に背景と文字の色を確認できます。
補足 やっぱりRicty使いたい!
自分はフォントはRictyDiminishedが好きなので使いたいなと思っていたところ、Rictyでもpowerline用のフォントがありました!
これを使えばpowerline上でも文字化けすることなくRictyを使えます。
まとめ
ターミナルがかっこよくなるとテンション上がる!
みなさんも自分だけのオリジナルのターミナルを作ってみてください!