在emacs中移动箭头选择

时间:2012-07-30 12:07:53

标签: emacs elisp

我正在使用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等。 怎么解决这个问题?

P.S。
cat -v for Shift< =
^ [[1; 2D
cat -v for Shift =>
^ [[1; 2C

我如何正确映射那些键左移,右移对应?

P.P.S。
抱歉。我忘了我也在使用屏幕。

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

2 个答案:

答案 0 :(得分:6)

这意味着emacs和您的终端不同意各种密钥代码的含义。有更多高级方法来配置终端(终端特定文件),但为了让您入门,请尝试将以下内容添加到您的emacs init文件中:

(define-key input-decode-map "\e[1;2D" [S-left])
(define-key input-decode-map "\e[1;2C" [S-right])

答案 1 :(得分:2)

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