UNIX的なアレ

UNIX的なこととかいろいろ

続:emacsclientでwindmoveを使った時のShift + <up>問題

以前にもかいた、emacs -nw 環境でShift + <up>がきかなくなる問題。以前に書いた内容でemacs -nw で立ち上げた場合は問題なく立ち上がるようになりました。

(define-key input-decode-map "\e[1;2A" [S-up])

しかし、これだとemacsclientの環境ではemacsclientを立ち上げた側で毎回実行してあげないと認識してくれません。すごい不便。 なんとかして、emacs --daemonで立ち上げる時に設定する方法はないかと調べたところ見つかりました。

とりあえず以下の設定をいれればOKです。

(defadvice terminal-init-xterm (around map-S-up-escape-sequence
activate)
  (define-key input-decode-map "\e[1;2A" [S-up])
  ad-do-it
)

https://groups.google.com/forum/#!topic/gnu.emacs.help/ZGu2MNkJGrI

以前もこのグループに助けられた気がする・・・

ちなみにemacs周りのaliasはこんな感じで設定しています。nw環境で使うことが多いです。

alias emd="emacs --daemon"
alias emn="emacs -nw"
alias emc="emacsclient -c"
alias ekill="emacsclient -e '(progn (defun yes-or-no-p (p) t) (kill-emacs))'"

emdであげたemacs --daemon自体は滅多なことがない限り落とさないですね。emcというのがなんかストレージのメーカーを想像してしまいますが、慣れてきました。

Emacs実践入門 ?思考を直感的にコード化し、開発を加速する (WEB+DB PRESS plus)

Emacs実践入門 ?思考を直感的にコード化し、開発を加速する (WEB+DB PRESS plus)

入門 GNU Emacs 第3版

入門 GNU Emacs 第3版