* Cygwin MSYSの256色対応 [#v47222b2]

** 概要 [#m80ae523]
- ConEmuはデフォルトでは256色対応していない。(ただし、minntty.exeをConEmuにアタッチすれば256色表示するけれど。)
- 256色対応するには、以下のcygwin/msys terminal connectorを使う。ただし、この機能はまだ実験的な機能とのこと。
- http://conemu.github.io/en/CygwinMsysConnector.html


** インストール [#x0419077]
- ConEmuを最新版にする。
- https://github.com/Maximus5/cygwin-connector/releases から最新版のコネクターのアーカイブをダウンロードする。
- アーカイブを展開して、自分の環境にあったコネクターを選ぶ。
-- Cygwin: conemu-cyg-32.exe and conemu-cyg-64.exe;
-- MSYS 1.0: conemu-msys-32.exe;
-- MSYS 2.0: conemu-msys2-32.exe and conemu-msys2-64.exe.
- 今回は64ビットのMSYS2とする。
- conemu-msys2-64.exeをMSYS2がインストールしてあるディレクトリ下のログインシェル(bash.exeなど)と同じ場所にコピーする。
- 今回は、C:\msys64\usr\bin だった。

** Bashの起動 [#qf66320d]
 C:\msys64\usr\bin\conemu-msys2-64.exe --verbose

** タスク設定 [#o1f65b7a]
- ConEmuのメニューから、[Settings]を選ぶ。
- Settingsダイアログが開くので、左ペインより[Startup]->[Tasks]を選ぶ。
- [Predefined Tasks]より[+]を押下し、タスクを追加する。
- グループ名はBash::Msys2-ANSIなど適当につける。
- コマンドは以下のようにする。(パスは環境に合わせて変更すること)
- ポイントは-cur_console:h0でスクロールバッファをオフにすること。

 set CHERE_INVOKING=1 & set MSYSTEM=MINGW64 & 
 "C:\msys64\usr\bin\conemu-msys2-64.exe" -cur_console:h0 
 -new_console:C:"%ConEmuDrive%\msys64\msys2.ico"

** Bash上での256色対応を確認する [#b96ed473]

 #!/usr/bin/env perl
 
 use strict;
 use warnings;
 
 my $fg = "\x1b[38;5;";
 my $bg = "\x1b[48;5;";
 my $rs = "\x1b[0m";
 
 my $color = 0;
 
 for (my $row = 0; $row < 32; ++$row) {
     for (my $col = 0; $col < 8; ++$col) {
         print get_color($color);
         $color++;
     }
     print "\n";
 }
 
 sub get_color {
     my ($color) = @_;
     my $number = sprintf '%3d', $color;
     return qq/${bg}${color}m ${number} ${rs} ${fg}${color}m${number}${rs} /;
 }

- 上のPerlスクリプトを256.plなどとしてファイルに保存する。
- perl 256.plで実行する。

*** もう少し簡単に [#x97acfed]
 echo -e "\e[1;33;40m Yellow on black \e[m"

** 参考 [#u02df1f0]
- http://conemu.github.io/en/CygwinMsysConnector.html
- http://superuser.com/questions/1030047/conemu-ls-256-colors-not-working

トップ   編集 差分 バックアップ 添付 複製 名前変更 リロード   新規 一覧 検索 最終更新   ヘルプ   最終更新のRSS