我正在使用GNU Emacs 23.2.1
我的init.el
(cua-mode 1)
(transient-mark-mode 1)
(setq shift-select-mode t)
(global-linum-mode 1)
(show-paren-mode 1)
(desktop-save-mode 1)
Run Code Online (Sandbox Code Playgroud)
所以,而不是选择我在Shift =>上得到2C,在Shift <=上得到2D,等等.如何解决这个问题?
PS
cat -v for Shift <=
^ [[1; 2D
cat -v for Shift =>
^ [[1; 2C
我如何正确映射这些键左移,右移相应?
PPS
抱歉.我忘了 我也在使用屏幕.
den@playground:~/.emacs.den$ echo $TERM
screen
Run Code Online (Sandbox Code Playgroud)
解:
(define-key input-decode-map "\e[1;2D" [S-left])
(define-key input-decode-map "\e[1;2C" [S-right])
(define-key input-decode-map "\e[1;2B" [S-down])
(define-key input-decode-map "\e[1;2A" [S-up])
(define-key input-decode-map "\e[1;2F" [S-end])
(define-key input-decode-map "\e[1;2H" [S-home])
Run Code Online (Sandbox Code Playgroud)
这意味着emacs和您的终端不同意各种密钥代码的含义.有更多高级方法来配置终端(终端特定文件),但为了让您入门,请尝试将以下内容添加到您的emacs init文件中:
(define-key input-decode-map "\e[1;2D" [S-left])
(define-key input-decode-map "\e[1;2C" [S-right])
Run Code Online (Sandbox Code Playgroud)