[emacs] Emacsのmulti-termの設定など

Emacsmulti-termが中々いい感じなので設定ファイルの備妄録など書いておきます。

ちなみにtermやansi-termと比較してmulti-termのいい点としては以下の点があります。

  • Emacsとのketstrokeとのバッテイングを回避
    • termやansi-termだとM-xとかstrokeがバッテイングしてるのだけどそれを回避してくれる
  • 複数のterminal bufferを作成可能。かつ、切り替えが軽快
  • term専用のdedicatedコマンドの実装

まあ感じとしてはtermの上位版という感じですかね。設定は以下のような感じにするとよいかと

(require 'multi-term)
(setq multi-term-program "/bin/zsh")

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

(global-set-key "\C-cc" 'multi-term)
(global-set-key "\C-cn" 'multi-term-next)
(global-set-key "\C-cp" 'multi-term-prev)

設定としては(define-key term-raw-map "\C-y" 'term-paste)の部分が重要でこれを設定しておくとクリップボードからのPasteが有効になります。C-zの方はelscreenを使うための設定です。またこの場合local-set-keyだとうまくいきません。

まあそんなとこかと. 感じとしてはEmacs内でTerminalみたいな事、もしくはそれ以上の事ができる感じですかね。