たるこすの日記

読者です 読者をやめる 読者になる 読者になる

たるこすの日記

リアルからバーチャルへ、バーチャルからリアルへ

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 はまだ使い始めたばかりですが、補完が強力でとても使いやすそうです。
使い慣れてきたら、少しずつカスタマイズやパッケージの追加を試してみたいと思います。