我最近有帮助修复M-left等等:emacs在终端元箭头键绑定,但我无法修复Shift-up使用类似的解决方案.当我尝试时,shift-up我得到一个错误<select> is undefined.我尝试使用以下方法重新映射它:
(add-hook 'term-setup-hook
'(lambda ()
(define-key function-key-map "\e[1;9A" [M-up])
(define-key function-key-map "\e[1;9B" [M-down])
(define-key function-key-map "\e[1;9C" [M-right])
(define-key function-key-map "\e[1;2A" [S-up])
(define-key function-key-map "\e[1;9D" [M-left])))
Run Code Online (Sandbox Code Playgroud)
但转变仍未定义.我也试图通过使用从返回的转义序列设置它重新绑定的关键cat是^[[1;2A.奇怪的是,降档确实有效.shift-select-mode也被标记了t.
bea*_*era 10
这听起来像是我通过Putty访问Ubuntu 12.04机器的麻烦,当END导致Emacs 23.3.1说<select> is undefined.结果是terminfo的一个问题,它允许程序以独立于设备的方式使用终端.
根据2008年的bug报告讨论,我通过在〜/ .bashrc的顶部添加以下内容解决了我的问题:
#so the END key will work correctly in Emacs over PuTTY
TERM=xterm-vt220
Run Code Online (Sandbox Code Playgroud)
NB,使用xterm-vt220或默认的xterm,当我按下END,Up和Shift-Up 时,emacs -Q -nw会得到.(要了解键代码的Emacs不饶人,按几个按钮,然后).对于相同的密钥以相同的顺序,说,和...所以向上和升档的奇怪逆转.ESC [ 4 ~ESC O AESC [ AC-h,lcat[4~[A[OA
您应该可以通过以下方式解决问题:
(define-key input-decode-map "\e[1;2A" [S-up])为了使其在正确的时间生效,您必须在.emacs中使用以下内容:
(if (equal "xterm" (tty-type))(define-key input-decode-map "\e[1;2A" [S-up]))
| 归档时间: |
|
| 查看次数: |
4050 次 |
| 最近记录: |