ConEmuからMSYS2のシェルを起動したときに256色対応させる

最近MSYS2環境にして、zshを入れたりなんなりしてたんですが、 ConEmuから起動させると256色表示ができないことに気付きました。

ターミナルの設定とかをいじってみたのですが改善せず、 ConEmuの方が対応していないのかなあと諦めていたのですが、 よくよく調べると公式の方で対応策が書いてありました。

conemu.github.io

どうやら、MSYS2のシェルからansi color codeを上手にConEmuの方へ引き渡す コネクタプログラムを噛ませる必要があるらしいです。

公式から最新のコネクタをダウンロードし、「conemu-msys2-32.exe」と「conemu-msys2-64.exe」を適当なフォルダに配置します。 恐らく、片方した使わなければ使う方だけでも大丈夫だと思います。

github.com

それが終わったら、ConEmuのSettingsから、MSYS2のシェルを起動させるためのtaskのコマンドを変更します。 変更内容は、以下のブログを参考にしました。

yami-beta.hateblo.jp

set MSYSTEM=MINGW64 & C:\path\to\conemu-msys2-64.exe /usr/bin/zsh --login -i

32ビット版を使う場合は「C:\path\to\conemu-msys2-32.exe」に変えてください。 MSYSを使うんじゃ、という方は「set MSYSTEM=MSYS」としてください。 bashを使っている場合は

set MSYSTEM=MINGW64 & C:\path\to\conemu-msys2-64.exe

で大丈夫そうです。

CygWinの方も、同様の手順で対応できるらしいです。

最後に、公式にも書かれていましたが

Please note, status of this plugin is ‘Experimental’.

と、実験的なものなので、不具合があってもあしからず。