我有以下关于iterm2的define-key - emacs使用。
(define-key input-decode-map "\e[1;31" (kbd "C-;"))
(define-key input-decode-map "\e[1;32" (kbd "C-="))
(define-key input-decode-map "\e[1;33" (kbd "C-:"))
升级emacs 24.5.1后,它停止工作 它的正确语法是什么?
修改
我之前使用过24.3
c-h l给出
b RET C-a C-n C-n C-n C-n C-x b i n p u t C-g C-x C-f DEL DEL DEL~ / 。 e c a c RET C-d ESC x m a g i t - s t a t r t g t-a C-n C-n C-n C-n C-n C-n C-n C-n TAB TAB TAB TAB TAB TAB K y g C-a C-n C-n C-p C-p C-p C-n C-p C-a C-n C-n C-x o C-c g s r a SPC p a r e n C-g C-g C-n C-n C-n C-x ESC p s m a r t SPC p a r e n RET C-a C-n C-x d RET g C-a C-n C-n C-n C-p C-p C-s s m a r t-p a C-a C-s C-a C-n C-n C-a C-x ESC p s m a r t C-n C-n C-n C-g RET g ^ R R O O T _ o r ig RET 退出 !我的RET C-g ESC! e C-g ESC x s l l l RET RET RET q u i t RET C-d ESC x e s l l l RET l s RET c p SPC DEL DEL DEL l n SPC-s SPC g C-a C-k c d SPC。 。 / b i n RET l l RET l s RET。 / s你TAB DEL h TAB RET f g RET p s SPC DEL DEL DEL DEL DELT t DEL t t a SPC - 一个SPC | g r e p SPC 8 0 8 9 RET ESC O A DEL 0 RET C-h l C-g C-x 1 C-x b C-s C-s C-s RET C-h l
我的emacs是
#!/bin/sh
which osascript > /dev/null 2>&1 && osascript -e 'tell application "Emacs" to activate'
emacsclient -nw -c "$@"
答案 0 :(得分:1)
这是因为我调用emacs的方式发生了变化。
我曾经做过emacs -nw
现在我启动emacs-server并附上emacs-client。
它打破了input-decode-map
https://groups.google.com/forum/#!topic/gnu.emacs.help/ZGu2MNkJGrI
您需要将它们包含在defadvice
内,如下所示。
(defadvice terminal-init-xterm (after map-S-up-escape-sequence
activate)
(define-key input-decode-map "\e[1;2A" [S-up])
)