続screen

2006/01/19 の記事の続き。

前回は、

[1]cygwin(ローカル:sjis) -> [2]screen(ローカル:sjis) -> [3]ssh(リモート:utf8)

  • [1]でviでsjisのファイル編集は可能
  • [2]でviでsjisファイルが文字化け
  • [3]でviでutf8ファイルが文字化け

と云ったところで行き詰っていました。
色々調べて、.screenrcの記述を以下のように見直し。

bind U eval "encoding utf8" "stuff 'export LANG=ja_JP.UTF-8\012'"
bind E eval "encoding euc"  "stuff 'export LANG=ja_JP.EUC-JP\012'"
bind J eval "encoding sjis"  "stuff 'export LANG=ja_JP.SJIS\012'"

escape ^z^z
encoding SJIS
defencoding SJIS
termcapinfo cygwin KJ=SJIS

vbell off
defhstatus I^En:^EtI
shell -$SHELL
startup_message off
autodetach on

hardstatus ignore "%w | %h"
hardstatus alwayslastline "[%02c] %`%-w%{=b mw}%n %t%{-}%+w"

defscrollback 3000

termcapinfo cygwin KJ=SJISと云う行を追加しました。そうすると、

[1]cygwin(ローカル:sjis) -> [2]screen(ローカル:sjis) -> [3]ssh(リモート:utf8)

  • [1]でviでsjisのファイル編集は可能
  • [2]でviでsjisファイルが文字化けなし!
  • [3]でviでutf8ファイルが文字化け

一歩前進。
さらに[3]でC-Z Uを実行して、エンコードをUTF8に変更してみたところ、viで開いたUTF8のファイルが文字化けせずに読めるように。
やった!!!と思ったのも束の間、A-Z等のキーは正しく入力できるのですが、それ以外のキーが見事に文字化け。おかげでviから抜ける事もできなくなりました。

あとちょっと。あとちょっとなんです。ぐむー。