Windows10 の Bash on Ubuntu on Windows で fish を使ってみる
こんにちは、たるこすです。
先日、Windows 10 の Creators Update を適用しました。
BoW (Bash on Ubuntu on Windows) もアップデートされ、日本語の表示・入力ができるようになったり、exe を起動できるようになったりしています。
デフォルトのシェルである bash を使い続けてもいいのですが、せっかくなので最近気になっていた fish を試してみることにしました。
少し使ってみた感想としては、デフォルトの状態から補完が強力でとても使いやすそうです。
fish のインストール
環境は Windows10, Creators Update 適用済みの状態です。
また、手元の PC は Creators Update 適用前から BoW をインストールしてあったので、BoW を一度アンインストールして再度インストールを行いました。
まずは、fish のインストールを行うため、BoW で以下を実行します。
$ sudo apt-add-repository ppa:fish-shell/release-2 $ sudo apt update $ sudo apt install fish $ fish
l とタイプしただけで、候補として ls の s が表示されています。
このままでは表示が簡素ですので、少しカスタマイズしていきます。
oh-my-fishののインストール
パッケージマネージャは fisherman を使うのが流行りのようですが、BoW 上ではパッケージのインストールがうまくいかなかったので、今回は oh-my-fish を利用しています。
$ curl -L https://get.oh-my.fish | fish $ fish
oh-my-fish をインストールすると、fish の画面が以下のようになります。
これは... 魚?
z のインストール
ディレクトリ移動を簡単に行える z をインストールします。
z.sh の clone
$ git clone https://github.com/rupa/z $ sudo cp z/z.sh /usr/local/bin/
z.sh のパスを指定
~/.config/fish/config.fish に 以下を追加します。
$ set -gx Z_SCRIPT_PATH /usr/local/bin/z.sh
oh-my-fish での z のインストール
$ omf install z
wsl-terminal の利用とカスタマイズ
ここからはさらに見た目をカスタマイズします。
まずは、wsl-terminal というターミナルエミュレータを導入します。
以下のページから zip をダウンロードして展開し、open-wsl.exe を起動するだけで利用できます。
また、 wsl-terminal/etc/wsl-terminal.conf の 3行目を以下のように書き換えることで、デフォルトのシェルを fish に変更できます。
shell=fish
さらに、oh-my-fish を使って agnoster というテーマをインストールします。
$ fish > omf install agnoster
agnoster のインストール後、git で管理されたディレクトリに移動すると、以下のように表示されます。
このように、ブランチ名が表示されます。
ただし、デフォルトのフォントでは絵文字が表示されていないので、フォントのインストールを行います。
フォント (Source Code Pro) のインストール
先述したように、デフォルトのフォントでは一部の絵文字が表示されないため、Adobe が公開している Source Code Pro をインストールして設定します。
以下のページからフォントをダウンロードし、インストールを行います。
wsl-terminal の Options > Text > Font からフォントを Source Code Pro に変更します。
これにより、以下のように表示されるようになりました。
おわりに
fish はまだ使い始めたばかりですが、補完が強力でとても使いやすそうです。
使い慣れてきたら、少しずつカスタマイズやパッケージの追加を試してみたいと思います。