UTF-8 環境
[id:babie:20051204:p2] で言っていた screen ウィンドウ毎の UTF-8 環境切替ですが、現在のところ screen コマンド: "Ctrl-T u" と、zsh の alias: "set-utf8" の2アクションでやっています。
具体的な用途としては Catalyst のサーバを動かすウィンドウ(TT ファイルもソースも UTF-8 で書いている)や UTF-8 の DB とやり取りするウィンドウで重宝してます。
~/.screenrc
bind u encoding utf8
~/.zshrc
alias set-utf8='source ~/setting/lang-utf8'
~/setting/lang-utf8
#!/bin/sh export LANG=ja_JP.UTF-8
(sarge では /etc/environment に注意。デフォルトで LANGUAGE が設定されてたのでコメントアウトした)
EUC 環境切替も似たような感じです。
何とか1アクションにならんものでしょうか?
追記:
id:typestar さんありがとうございます。
encoding はイケました。環境変数 LANG の変更はシェルスクリプトの中で完結しちゃうので screen ウィンドウに反映されません。
とりあえず、setting/lang-utf8 は冗長だったので削除し、
.zshrc
alias set-utf8='export LANG=ja_JP.UTF-8'
にしました。
alias を呼ぶ版:
bind U eval "encoding utf8" "exec set-utf8"
や、シェル組み込みコマンドを呼ぶ版:
bind U eval "encoding utf8" "exec export LANG=ja_JP.UTF-8"
は「そんなコマンドないっ!」と怒られますねぇ。exec 取っても。実際ないっちゃないんですが。うーむ。
追記2:
typo タン(さぁ図々しくなって参りました)、重ね重ねありがとうございます。今のところ zsh 関数がベストですね。source や export 等のシェルビルトインコマンドが呼べれば解決なんですがねぇ。
追記3:
[id:babie:20051222:p1] に続きがあります。