windows terminalでfishを入れる

windows terminalって言っていますが、大半はlinux初心者であることによる問題だと思います

# Windows Terminalのインストール
windowsのバージョンに注意。versionによっては入らない。最新版ならだいたい入る。
あと忘れずにubuntuのインストールを。
コントロールパネル→プログラム→Windowsの機能の有効化または無効化→windows subsystem for linux を有効化。
一回開けてセットアップ後、ユーザー名とパスワードを設定。

# windows terminalの設定
デフォルトだとcopyもpasteも`ctrl+c` `ctrl+v`に対応してないので、キーバインディングに追加する必要あり。

```profiles.json
"keybindings": [{
                 "command": "copy",
                 "keys":["ctrl+c"]
                },
                {
                 "command": "paste",
                 "keys":["ctrl+v"]
                }]
```
より詳しいのはここにhttps://github.com/microsoft/terminal/blob/master/doc/cascadia/SettingsSchema.md
ubuntuをデフォルトにする。上の方 `defaultProfile`の値をUbuntuのguid(同じ画面profile内name Ubuntuのguidを参照)にする。これでデフォルトがUbuntuのshellになる。
次、最初のworking directoryをuserにするのに、Ubuntuのprofileに次の一文を追加

```profiles.json
"commandline": "wsl.exe ~ -d Ubuntu"
```
これでおｋ(参考:https://qiita.com/bindi/items/6aa20a157d83a6efd86f) 。あと`colorScheme`は `One Half Dark` 、いいぞ(参考:https://qiita.com/hideki0145/items/04582a26baf3d81632c1)。
他のfontFaceとかの設定はまた後で。

## そういえば
`/mnt/c/` :仮想的なcドライブ。ここ以下が「目に見える」アクセスできるところ
`C:\Users\[ユーザー名]\AppData\Local\Packages\CanonicalGroupLimited.UbuntuonWindows_79rhkp1fndgsc\LocalState\rootfs\home`:linuxのホームディレクトリの場所。エクスプローラーで入ろうと思ったらAppDataが見るからなかったんですけど、これどこにあるんですか。
参考https://qiita.com/kalafinalice/items/70a76d35398ab11af778

# brewを入れる
公式サイトを見よう！
https://docs.brew.sh/Homebrew-on-Linux
この通り入れたらなんとかなる、はず。
どっちかって言うと1行目をコピペしたあとはterminal上のログを見てインスコしたほうがいいような気がする。`sudo apt-get install build-essential` とか入れないとうまくいかなかったような、いったような……（5時間前のことなので記憶が曖昧）

# fishを入れる
```
$ brew install fish
```
でおｋ。問題はこのあと。PATHどうやって通すか(私は毎回忘れるんですけど、これ、みんな覚えてるんですか……？)
ワンチャン、途中でわけわかんなくなってlinux側のbrew wrapper入れてる支障が出てる可能性があるので、ここは割と問題出そうな箇所

```
$ echo /home/linuxbrew/.linuxbrew/bin/fish >> /etc/shells
$ chsh -s /home/linuxbrew/.linuxbrew/bin/fish
```
とりあえずfishがデフォルトに。このあとは何したっけな～～

# fish側のPATHを通す

```
$ set -U fish_user_paths YOURPATH $fish_user_paths
```

が通し方の基本。

```
$ set -U fish_user_paths /usr/local/bin $fish_user_paths
$ set -U fish_user_paths /home/linuxbrew/.linuxbrew/bin $fish_user_paths
```

多分これでbrewのPATHが通るはず。あとはfishのセットアップだけ。powerlineのフォントとか

# fishのpowerline font問題

## bob the fishを適用
```
$ curl https://git.io/fisher --create-dirs -sLo ~/.config/fish/functions/fisher.fish
$ fisher add oh-my-fish/theme-bobthefish
```
みんな大好きpowerline。でもここでみんな大嫌い文字化けが。

## Powerlineフォントを入れる

`sudo apt-get install fonts-powerline`で入れたんですけど、どこに行ったのかわかんなくなった＋保存されたのがlinux側でwinからは一切認識してくれなかったのでこの方法は諦めました。

```
$ cd /mnt/c/Users/USERNAME/Desktop
$ git clone https://github.com/powerline/fonts.git --depth=1
```

これでデスクトップにフォルダができてるはずなので、入って入れたいフォントを右クリック→インストールでwindowsのフォントに入る。
次はwindows terminal の設定。対応するjsonの変数名は`fontFace`

```profiles.json
        {
            "guid": "{2c4de342-38b7-51cf-b940-2309a097f518}",
            "hidden": false,
            "name": "Ubuntu",
            "source": "Windows.Terminal.Wsl",
            "colorScheme": "One Half Dark",
	        "fontFace": "Source Code Pro for Powerline",
	        "commandline": "wsl.exe ~ -d Ubuntu"
        }
```
めんどくさいので全部のせました。fontFaceのところが重要。私のやつバグっててRobotoだと入らなかったのでsource code proにしておきました。なんで？

powerline終わり。もう二度としたくないんですけど、これどうやったら回避できますかね……

# 以上
お疲れさまでした。![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/380303/5b9d112d-61b0-bdf2-3d20-77aa4592bf55.png)

やっぱいいですね、fish