こんにちは、hachi8833です。
Powerline使ってますか?私もシェルのプロンプトを便利かつかっこよく表示できるPowerlineを半年ぐらい前から使っています。特にGitのディレクトリでステータスを表示できるところが非常にありがたいです。
これまで使っていたLokaltog/vim-powerlineを開いてみるとdeprecation warningが表示されていることに気づき、そして他の変種も含めて本家Powerlineに収束したらしいことを今になって知りました。
しかし本家Powerlineに差し替えてみようとしたところ、なまじpyenvをインストールしていることもあってか、Python周りの設定がいろいろ面倒で途中でくじけました。それにpowerline-daemonを常駐させないとやはり重いらしく、常駐させるのは自分的に残念です。
そんなときに見つけたのが、Go言語で書かれたpowerline-goでした。
以前にも別のGo製Powerlineを見つけたことがあったのですが、機能が少なすぎてあきらめたことがありました。これはいけるかも。
インストール
releaseディレクトリからバイナリを取ってきてもよいのですが、Go環境があるので以下で即インストールしました。
go get -u github.com/justjanne/powerline-go
私の場合Powerlineで必要なフォントは既にインストール済みだったので省略します。必要な方はpowerline-fontsなどでお探しください。
後は.bashrcに以下を追加してsource .
すれば完了です。
# .bashrc
function _update_ps1() {
PS1="$(<パス>/powerline-go -error $?)"
}
if [ "$TERM" != "linux" ]; then
PROMPT_COMMAND="_update_ps1; $PROMPT_COMMAND"
fi
あっさり動きました。
カスタマイズ
後は好みに合わせてカスタマイズです。表示をあまりギンギラギンにしたくなかったのと、なるべくPowerlineが幅を取らないようにしたかったのですが、既存のオプションだと少々力不足だったので、forkして雑にカスタマイズしました。完全に自分用なのでプルリクはしません。
- セグメントの前後のスペースを削除
- ディレクトリ表示の
...
を削除 - プロンプト
$
の色を変更 - デフォルト設定を自分好みに変えてオプションを与えなくて済むようにした
powerline-goのディレクトリでgo install
を実行してインストールします。
ワンバイナリできびきび動いてくれて安心かつ満足です。AWSやDockerにも対応しているようなのでそのうちチェックしてみます。