3

我正在使用 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)      

所以,而不是选择我在 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  

解决方案:

(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])
4

2 回答 2

6

这意味着 emacs 和您的终端不同意各种密钥代码的含义。有更高级的方法来配置终端(终端特定文件),但为了让您开始,请尝试在您的 emacs 初始化文件中添加类似这样的内容:

(define-key input-decode-map "\e[1;2D" [S-left])
(define-key input-decode-map "\e[1;2C" [S-right])
于 2012-07-30T15:20:15.187 回答
2

这通常发生在您在控制台中运行 emacs 时。尝试将 emacs 作为图形程序运行,这应该不是问题。

于 2012-07-30T13:12:48.107 回答