読者です 読者をやめる 読者になる 読者になる

<msys2> UTF-8 / SJIS を切り替える。

msys2で、
文字コード CharsetUTF-8SJISを切り替える環境にしてみた。
うにっくすさんunixに繋ぐときは、UTF-8がいいし、
ういんどうずwindowsのファイルを作業する時は、SJIS cp932がいいので、、

考えた結果、minttyの起動バッチファイル batをそれぞれ用意することにした。

/c/msys64/msys2_shell.batをコピーして、 /c/msys64/start_shell.cmdからmintty起動分を抜き出して下記を作成。
mintty-cオプションを指定して、UTF-8を指定したminttyrcを読み込む。

:
@echo off

rem To activate windows native symlinks uncomment next line
rem set MSYS=winsymlinks:nativestrict

rem Set debugging program for errors
rem set MSYS=error_start:%WD%../../mingw32/bin/qtcreator.exe^|-debug^|^<process-id^>

rem To export full current PATH from environment into MSYS2 uncomment next line
rem set MSYS2_PATH_TYPE=inherit

set "WD=%__CD__%"
if NOT EXIST "%WD%msys-2.0.dll" set "WD=%~dp0usr\bin\"
set CONTITLE=MSys2_UTF-8
start "%CONTITLE%" "%WD%mintty" -c my_minttyrc_UTF-8 -i /msys2.ico /usr/bin/zsh --login %1 %2 %3 %4 %
:EOF

my_minttyrc_UTF-8は下記。

BoldAsFont=no
Font=MS ゴシック
Locale=ja_JP
Charset=UTF-8
BackgroundColour=255,255,255
ForegroundColour=0,0,0
Term=xterm-256color
FontHeight=9
Transparency=off
CursorType=block
CursorBlinks=no

ForegroundColour=131, 148, 150
BackgroundColour=  0,  43,  54
CursorColour=    220,  50,  47

Black=             7,  54,  66
BoldBlack=         0,  43,  54
Red=             220,  50,  47
BoldRed=         203,  75,  22
Green=           133, 153,   0
BoldGreen=        88, 110, 117
Yellow=          181, 137,   0
BoldYellow=      101, 123, 131
Blue=             38, 139, 210
BoldBlue=        131, 148, 150
Magenta=         211,  54, 130
BoldMagenta=     108, 113, 196
Cyan=             42, 161, 152
BoldCyan=        147, 161, 161
White=           238, 232, 213
BoldWhite=       253, 246, 227

同じものをSJIS用にも用意。

で、zshrcは、

case ${CONTITLE} in
    MSys2_UTF-8)
        export LANG="ja_JP.UTF-8"
        ;;
    MSys2_SJIS)
        export LANG="ja_JP.SJIS"
                ;;
esac

を追加して、batの中で指定した環境変数$CONTITILE$LANGを切り替える。

できた。
ぼちぼちいい感じになった。