Windows10でMacライクなターミナル環境を構築する

この記事は [dots.女子部 Advent Calendar 2016](http://qiita.com/advent-calendar/2016/dots_girls)の13日目です。

dots.女子部には一度しか参加したことがありませんが、Advent Calendar 書かせてもらいます makasn です。
最近転職して、開発機がMacからWindowsになったので手元の開発環境を整えるのに四苦八苦してました。今回は、なるべくMacに近づけたい一心で整えたターミナル環境を紹介します。

## 必要なもの

| アプリ | version(構築時のもの) |
|:-:|:-:|
| NYAGOS | v4.1.7_0 |
| Cmder  | v1.3.2  |
| less（文字化け対応用） | v481 |

※今回はOS Windows10で構築してます。
### NYAGOS
UNIX風コマンドラインシェルです。Unicodeにもしっかり対応してくれており、かつ個人的に内蔵カラーlsとアイコンが好きなので使い始めました。
参考：[NYAGOS なら Unicode ファイル名にも自信が持てます](http://qiita.com/zetamatta/items/c66197b37244e7b0804c)
サイト：http://www.nyaos.org/index.cgi

### Cmder
コンソールエミュレーターです。とても多機能でタブも使えるし、Fullバージョンなら[Git for windows](https://git-for-windows.github.io/)もついてきます。Git BashがUNIXコマンドをだいぶそろえてくれているので、これだけでほぼMacライクなターミナル環境は作れそうなのですが、残念ながら私の環境ではlsコマンドでUnicodeが文字化けしてしまいます。
サイト：http://cmder.net/


### less
今回はCmderと一緒に落としてきたGit for windowsのUNIXコマンドを使用しますが、lessがUnicode対応していないので、新しいものに差し替えます。（何が困るかというとgit logの表示にlessを使用しているのでコミットメッセージとかが文字化けしてしまう。）
サイト：http://www.greenwoodsoftware.com/less/index.html


## 導入手順
### NYAGOSのインストール
https://github.com/zetamatta/nyagos/releases
から最新のzipファイルをダウンロードし、任意の場所に展開する。
（今回はnyagos-4.1.7_0-amd64.zipをダウンロードし、C:\Program Files\nyagosに展開しました。）

### Cmderインストール
[http://cmder.net/](http://cmder.net/)
のDownload Fullからzipファイルをダウンロードし、任意の場所に展開する。
（今回はC:\Program Files\cmderに展開しました。）

### Cmderのセットアップ
Cmder.exeを実行すると、最初はこんな感じの画面になります。

<img width="669" alt="Cmderfirst.PNG" src="https://qiita-image-store.s3.amazonaws.com/0/80566/a0a81d15-e06a-eba9-5925-1ca58e9de0f1.png">

これで、λマークが表示されればOKです。

#### デフォルトのシェルを設定する
Cmderの画面の右下のハンバーガーアイコンを押すとメニューが表示されるので、そこからSettingsを選択します。

<img width="669" alt="Cmdersetting.PNG" src="https://qiita-image-store.s3.amazonaws.com/0/80566/ac018365-61e9-c339-430b-5d2568b02d64.png">

Settingsが開いたら、左の一覧からTasksを選択します。
今回は、デフォルトシェルとしてnyagosを登録したいので、Predefined tasksの下部の＋ボタンをクリックし、新しくtaskを追加します。
設定は ↓ こんな感じ。

<img width="572" alt="Cmderafter2.PNG" src="https://qiita-image-store.s3.amazonaws.com/0/80566/64bc72b9-8a5e-7663-e584-1fb68cc0d837.png">

その後、左の一覧からStartupを選択し、Specified named taskでnyagosを選択する。

<img width="572" alt="Cmderafter3.PNG" src="https://qiita-image-store.s3.amazonaws.com/0/80566/f7935237-efe8-3a0e-01ab-0c8327e669f9.png">

そして、右下のSave settingsをクリックする。
以上で、Cmderのデフォルトシェルがnyagosになりました。

Cmderを閉じてからもう一度開いて、タブの部分がnyagos.exeと表示されていればOKです。
これで概ねいい感じで動かせるのですが、Cmderと一緒に落としてきたgitとかにパスが通っていません。
（シェルにcmd:Cmderを指定すると何もせずに使えます。）

#### CmderのGitとUNIXコマンドにパスを通す
CmderのSettingsからEnvironmentを開き、必要なパスを設定する。
（今回はGit for windowsを落としてきたときに通るパスをすべて指定しています。）

<img width="572" alt="Cmderafter5.PNG" src="https://qiita-image-store.s3.amazonaws.com/0/80566/68ec712f-47fb-9666-e4c3-514992633224.png">

これでSave settingsして、一度閉じて開きなおせば設定が反映されGitコマンドもその他のコマンドもvimも使用できるようになります。

ただし、vimは.vimrcを設定してあげないとちゃんと表示してくれないので、

```bash:~/.vimrc
set encoding=utf-8
set fileencodings=iso-2022-jp,euc-jp,sjis,utf-8
set fileformats=unix,dos,mac
```
を作成してください。

ただ、これでもまだ足りないのがGitのコマンド周り。
git logやらgit diffのUnicodeが文字化けしてしまうので、最後にそれだけ解消してあげます。

### less.exeの差し替え
冒頭にも述べましたが、git logやらgit diffやらが文字化けするのはlessの仕業です。なので、lessのサイトから新しいものを引っ張ってきます。

http://www.greenwoodsoftware.com/less/download.html
にアクセスし、BinariesのWindows binaries are available at:のリンクをクリックします。（現在はこちらです：http://guysalias.tk/misc/less）

遷移先のページのless.481.1.7zをクリックするとzipファイルがダウンロードできます。
zipファイルを展開した中にあるless.exeとlesskey.exeをCmderのvendorの中にあるものと差し替えます。
今回はCmderをProgram Files配下に置いたので、lessのありかは下記になります。

```
C:\Program Files\cmder\vendor\git-for-windows\usr\bin
```

<img width="723" alt="less.PNG" src="https://qiita-image-store.s3.amazonaws.com/0/80566/518a7a4d-23a9-2dc3-5967-8a2909eb67bc.png">

この2つを差し替えたら、最後にもう一度CmderのSettingsを開きます。
Environmentにchcp utf-8を追加します。

<img width="572" alt="Cmder6.PNG" src="https://qiita-image-store.s3.amazonaws.com/0/80566/cbbdb85f-adb4-a981-3480-71f722ebd014.png">

これで完成です！
sshコマンドもここから叩けるのでめっちゃ快適:relaxed: ← 一番ほしかった！
あとは色とかフォントとかいろいろCmder側で調整できるので、好きなように設定してみてください♪

## 追記（2016.12.25）
Git for windowsのvimだとコミットメッセージ編集時にUnicodeが文字化けするので、Kaoriya Vimを導入しました。

https://www.kaoriya.net/software/vim/

上記サイトからvimをダウンロードし、任意の場所に置いておきます。

```bash
git config --global core.editor C:/path/to/vim80-kaoriya-win64/vim.exe
```

これで設定完了です。

## 参考記事
[ConEmu + nyagos で Windows ターミナル環境を作る](http://qiita.com/1000k/items/4a2f9419b19fdc9ed5f4)
[Git日本語対応備忘録](https://takanosho.wordpress.com/2012/02/19/git-japanese/)