18
13

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 3 years have passed since last update.

【WSL】Powerline入れたら死ぬほど遅くなった人へ

Last updated at Posted at 2020-03-11

TL;DR

  • powerline にgitの処理が入っている
  • WSLはwindows側のディレクトリへのgitコマンドめっちゃ遅い
  • よってpowerlineを使うテーマでgitをOffにするか、WSLのファイルシステム内にリポジトリを置けばよい

WSLとは

powerline

  • temrinalをイカした感じにしてくれるやつ
  • powerline themeとかも多く合って、zsh/fishなら簡単に導入できる
  • gitの情報とかも出してくれるので、かなりありがたい
  • だが、gitの情報を出すために、temrinal表示のたびに内部でgitコマンドを打っている様子。

使用環境

どれくらい遅いの

  • fish + bobthefish のデフォルトの設定で、/mnt/c/User/{ユーザー} 以下のリポジトリにアクセス
    • 8MBぐらいのリポジトリで20秒ぐらいかかる
    • これが、コマンド打つたびにかかる
    • ボリュームのあるリポジトリだともう使い物にならない
  • zsh + agnoster も同様

解決策① gitの読み込みをOffにする

  • fish + bobthefish の場合、テーマの設定でgitの使用をoffにできる

  • ~/.config/fish/config.fish を編集。

  • set -g theme_display_git no を記載

  • git関連はほかにもあるのでbobthefish 参照

    • けどtheme_display_git no 以外はあまり効果ない
  • 自分が設定したやつ

cat ~/.config/fish/config.fish
set -g theme_newline_cursor yes
set -g theme_display_git_master_branch yes
set -g theme_color_scheme dracula
set -g theme_use_abbreviated_branch_name yes
set -g fish_prompt_pwd_dir_length 0
set -g theme_show_exit_status yes
set -g theme_title_use_abbreviated_path no
set -g theme_display_git no
set -g theme_display_git_dirty no
set -g theme_display_git_untracked no
set -g theme_display_git_ahead_verbose no
set -g theme_display_git_dirty_verbose no
set -g theme_display_git_stashed_verbose no


* 結果: 一応使えるレベルになったが、git見れないのであまり使い道ない

# 解決策② WSLのファイルシステム内にリポジトリ置く

* これが一番シンプルかつ早い
* 今までWindowsファイルシステム内にリポジトリ置いてた人は移行がつらいかも

### VScodeとか使っているんですけど。。って人は
* Remote Development入れて、WSL内で `code .` って打つと幸せになれるかも
    * 拡張機能とかは入れ直しになるけど、ほとんどLocalでの使用感と変わらずできる。おすすめ
    * [VS Code Remote Development](https://code.visualstudio.com/docs/remote/remote-overview)
* またはWSLのディレクトリにWindowsでアクセスしてVScodeで開くのもあり
    * WSL内で `explorer.exe .` でカレントディレクトリをエクスプローラーで表示
    * これでWSL内のディレクトリにWindowsでアクセスできる

# 感想

* WSLかなりいいけど、ここだけネックですね。。。
* 仕組み上仕方ない感じあるので、なんとかこれで我慢
* 何かほかのイケてる解決策されば教えてください!

# おまけ

* powerline使うならRustで書いたpowerline-rsが早くておすすめ。↑で書いたテーマよりかなりサクサク
    * https://github.com/jD91mZM2/powerline-rs
18
13
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
18
13

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?