まとめ
以下がおすすめです。
コンソールツールのパッケージ
- MSYS2。minttyが標準。Zshも使えるよ。
- cmder 起動時にPowerShellを起動するようになりました。bash同梱なのでbashも使えますが…。ConEmu,clink,gitを詰めあわせたもの。
ターミナルエミュレータ単体
- MinGWにWindowsネイティブなVim/Rubyを使いたい人 … ckw, ConEmu
- Cygwinで生きていくことに決めた人 … ck, mintty
- コマンド叩くのがリモートだけの人 … TeraTerm, Putty, rlogin, tanasinn、もしくはsshコマンドを手当した上でminttyかckでもよさげ。
- ANSI 256色対応 … TeraTerm, Putty, mintty, ck
個人的な落とし所
- ローカルのコマンドを叩くマシンの場合
もうMSYS2でいいと思う。もろもろ設定をすることによって(主にwinptyのおかげで)vimとかjnethackが動く模様。 - リモートのコマンドしか叩かないマシンの場合、WinSCP+Putty-ranvis(セッション共有できる為。あと当該マシンは管理者権限がないので色々諦めた。)
まえがき
WindowsとUnix(Cygwin含む)で端末の制御方法が違うため、WindowsネイティブなVimやirbがうまく動かないターミナルエミュレータがあります。
winptyというコマンドを介すことでWindowsのコマンドとUnix系のコマンドを共存できます。
TeraTerm
元々はTelnetとシリアルコンソールとパソコン通信なんかに使われてるターミナルエミュレータ。満20歳。祝成人。今はSSHとかCygwinにも対応してる。OpenSSHの鍵がそのまま使えます。あんまり癖はないけど歴史的経緯で設定が複雑。ユーザは多いので不具合は少なそう。未だに開発進んでるし。
Cygterm経由でCygwinは使えますが、MinGWには使えません。
マクロ書くと結構楽というか公開鍵はマクロからじゃないと自動的に指定できません。PasswordAuthentication yesならssh://name:pass@ip-addrとか書けます。ヘルプを見ると色々できることがわかります。
Putty
SSHターミナルエミュレータ。鍵がOpenSSHと別形式なのがめんどくさい。WinSCPと連携するので、WinSCPを使う人には便利です。ssh-keyagentもあるし、Cygwinコンソールも開けます。
プライベートパッチ版かPutty-ranvisを使うのがいいと思います。
MinGWには使えません。セッションごとに設定保存できるし、TeraTermより設定もわかりやすいと思う。
見た目はminttyと同じなので画像は割愛。
ck
Cygwin専用。Telnet/SSH等の通信機能はありません。設定をJavaScriptで書かなきゃないのが面倒ですが、画面がきれいだし機能が少ないので好きです。なにげに1プロセスで複数ウィンドウ持てます。
Windows寄りのがckw-modだったと思います。ckwならMinGWのbashが開けます。cmd.exeやnyaos、clinkに合わせてもいいと思います。
スクショはckw-mod。ckwはANSI256色には対応していません。対応するにはANSIエスケープシーケンスを処理してる部分に表を差し込めばよいと思うのですが、コンパイルにVCが欲しいようですね。
mintty
Puttyの描画部分からforkした単機能ターミナルエミュレータ。Telnet/SSH等の通信機能はありません。1プロセス1ウィンドウ。isattyが0を返すのでWindowsネイティブのvimやirbが使えません(winptyを通せば良い)。
- mintty-color-scheme Monokai、Solarizedとか。
ConEmu
タブで複数コンソールが開けて相当高機能なターミナルエミュレータ。Telnet/SSH等の通信機能はありません。設定が複雑です。文字コードは明示的に設定できないようです。フォントの文字コードを使うとかそんな設定はできるけど、意味がよくわからない。
Minttyとは逆の理由でUnix系ツールのANSI color codeは上手く動きません。Windowsのcolor codeで動作しているプログラムは動作します。
Console2
msysと合わせるとダメみたいです。cmd.exeかPowerShellで使うといいのかもしれません。
rlogin
rlogin/telnet/sshターミナル。TeraTermっぽい感じ。高機能らしいのですが(TERM的な意味で)設定が難しい…。
CygTermを使えば(ry