emacs + screen + Terminal.appでカーソルがずれるのを何とかする
OS Xでemacs + screen + Terminal.appを使ってて、いわゆる全角の記号などを扱うと表示がおかしくなることがよくあった。というかOS XだけじゃなくWindowsでPUTTYからLinuxにSSHでも起きてた気がするけど。ふと気が向いたのでこれを解決しようとしたら出来た。
まず、ターミナルの設定 > 詳細 >「Unicode 東アジア A (曖昧) の文字幅を W (広) にする」にチェック。
次にOS Xのscreenが古いのでソース持ってきて自前でコンパイルする。せっかくなんでついでに256色対応もしとく。
git clone http://git.savannah.gnu.org/cgit/screen.git cd screen/src ./autogen.sh ./configure --enable-colors256 && make
.screenrcになんか良しなにしてくれる一行を追加。これが古いscreenだと使えない。
cjkwidth on
.zloginでターミナル起動時にscreen立ち上がるようにしてるんで、ここをさっきのコンパイルしたのに変更。
if [ $TERM != "screen" ]; then exec /path/to/screen -S main -xRR fi
以上!