Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/oop/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
emacs中的移位箭头选择_Emacs_Elisp - Fatal编程技术网

emacs中的移位箭头选择

emacs中的移位箭头选择,emacs,elisp,Emacs,Elisp,我正在使用GNU Emacs 23.2.1 我的初始值 (cua-mode 1) (transient-mark-mode 1) (setq shift-select-mode t) (global-linum-mode 1) (show-paren-mode 1) (desktop-save-mode 1) 因此,当您在控制台中运行emacs时,通常会发生这种情况,而不是在Shift=>时选择2C,在Shift时

我正在使用GNU Emacs 23.2.1
我的初始值

(cua-mode 1)               
(transient-mark-mode 1)    
(setq shift-select-mode t) 
(global-linum-mode 1)      
(show-paren-mode 1)        
(desktop-save-mode 1)      

因此,当您在控制台中运行emacs时,通常会发生这种情况,而不是在Shift=>时选择2C,在Shift时选择2D。尝试将emacs作为图形程序运行,这不应该是一个问题。

这意味着emacs和您的终端不同意各种键代码的含义。有更高级的方法来配置终端(特定于终端的文件),但要开始,请尝试向emacs init文件中添加类似的内容:

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

是的,我正在通过ssh/mintty在我的服务器上运行它。抱歉-我无法使用X服务器。只有ssh。那么我认为您不能使用这些密钥组合。IIRC这些密钥不会传递给emacs,但会被没有足够字符代码发送它们的终端停止。您可以做的是重新映射到其他内容,或者通过SSH进行X转发,或者使用tramp运行本地版本的emacs并远程编辑文件。在my
屏幕中,未移动的箭头键发送与移动的键相同的键码。你想确保在你开始这样的事情之前,这不是你的情况。@三普-是的,你需要考虑各种各样的事情(终端、外壳等等),这就是它令人沮丧的原因。有时,终端或外壳将允许您更改键码,这在这种情况下会有所帮助。
(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])
(define-key input-decode-map "\e[1;2D" [S-left])
(define-key input-decode-map "\e[1;2C" [S-right])