shell-toggleがいい

emacs上で使えるshell環境は

  • shell
  • eshell
  • shell-command

などなど色々あるんだけど、表示がおかしかったりとしっくりくるものがなかなかなかったんだけど、
ansi-termというのを発見した。

これはすごい。なにがすごいってemacsの中で普通にzsh,bashが動く。
設定はまずこのページのEmacs内でターミナルをトグルで呼び出す(shell-toggle)を参照する。
Ubuntu Weekly Recipe:第38回 ターミナルソフトウェアにこだわる(2)|gihyo.jp … 技術評論社
注意点として

(load-library "~/.emacs.d/shell-toggle-pathed.el") // pathedじゃなくpatchedに修正

これだけだとelscreenと併用してる場合elscreenのスクリーン切り替えができなくなるのでここに書いてある設定を追加する。

ElScreen と Term で疑似 GNU Screen を作る

ありえるえりあ

(add-hook 'term-mode-hook '(lambda ()
                             (define-key term-raw-map "\C-z"
                               (lookup-key (current-global-map) "\C-z"))))

あれでもこれだとコピペができない。
ちょっと調べたらキーバインドが設定されていた。

lineモード(C-cC-j)
   バッファ内を自由に移動することが可能になりコピペができるようになる
charモード(C-cC-k)
   シェルに戻る

これで問題なし。


ただ一つだけ解決しない問題点があってzshの場合にプロンプトに4mと出ちゃう。
色々調査したけど原因がよくわからず。。
f:id:hakutoitoi:20081124152625p:image
freebsdのemacsだと出ないんだけど、carbon emacsだと出る。
screen立ち上げると出なくなるけどわざわざ立ち上げるの面倒くさいなぁ。
この問題が解決できればmacでも使うのに。。