<powerline, msys2> msys2でpowerlineをやる。

ずっとやってみたかった、mys2powerlineをやる。
やってみた。

ググると、pip install powerline-statusでインストールすればいいらしい。
インストール後、さっそく起動。 powerline-deamon -qでゴー。
エラーがでた。。。

うーんと思って調査したら、どうも、anacondaさんpythonでは、fcntlとかいうモジュールがない。
が、msys2でインストールできる/usr/bin/pythonにはある。

つうことで、anaconda pythonをオフしないといけんらしい。

> powerline-daemon -q
Traceback (most recent call last):
  File "C:/Anaconda3/Scripts/powerline-daemon", line 9, in <module>
    import fcntl
ModuleNotFoundError: No module named 'fcntl'

> winpty python
Python 3.6.6 |Anaconda, Inc.| (default, Jun 28 2018, 11:27:44) [MSC v.1900 64 bit (AMD64)] on win32
Type "help", "copyright", "credits" or "license" for more information.
>>> import fcntl
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
ModuleNotFoundError: No module named 'fcntl'
>>> quit()

> /usr/bin/python
Python 3.7.1 (default, Oct 30 2018, 05:59:02)
[GCC 7.3.0] on msys
Type "help", "copyright", "credits" or "license" for more information.
>>> import fcntl
>>> quit()

と、いうことで、anaconda pythonPATHから抜いて、msys2デフォルトの/usr/bin/pythonを有効にする。
で、Powerlineをインストール。

>pip install powerline-status

でだ。
Powerlineちゅうのは、矢印とかのかっこいい部分は、専用のフォントをいれないといけん。

ぐぐったら、このフォントがよさげだったか、次の理由により、Powerlineからフォントを持ってきた。

github.com

理由。
msys2tmuxPowerline化するには、minttyのターミナルのフォント設定のLocale設定で、`Cを選ばないといけない。
やんないと、改行がうまくなく、ぐちゃぐちゃになる。ここ参考。

hibikore.murakan.info

で、Cを選択すると、Ritctyさんは、今度は、zshでかっこよくならない。
どうも、ja_JPCでカッコよいやつのフォントのコードが異なってるっぽい。。。

なので、Powerline本家から、フォントを持ってきて、インストール。

github.com

今回は、DejaVuSansMonoをイントールしてみた。

フォントサンプル。
https://github.com/powerline/fonts/blob/master/samples/All.md

インストールは、 Windowsボタン+Rファイル名を指定して実行のダイアログボックスを出し、
controlと入力して、コントロールパネルを開く。
で、フォントを選んで、.ttfとなってるファイルを入れこむ。

tmux.confの末尾に下記追加して、起動。

run-shell "powerline-daemon -q"
source ~/.local/lib/python3.7/site-packages/powerline/bindings/tmux/powerline.conf

で、成功。 カッコよくなった。

ただ、1つ問題が。。。
zsh+tmuxだと、zshPowerlineのブランチの表示部分がずれる、、、
しかも、lsだのpwdだのコマンドが遅い。
なんかいちいち、WindowsAntivirus Serviceがブーンって動くせいで、遅い。
なんとかなるのかな、、、

マニュアル。

github.com

参考。
qiita.com

blog.k3n.link

7me.oji.0j0.jp