TERM
我将的值更改screen-256color
为 从xterm
,这会影响 Emacs 中的键绑定。主要是使用箭头键的绑定现在插入A
、B
、C
,D
而不是运行backward-word
等forward-word
。我应该如何设置 256 种颜色而不影响键绑定。
答案1
终端只能识别字符,不能识别按键,因此不可打印字符的按键将被编码为控制字符或转义序列。
不同的终端为某些键发送不同的转义序列。幸运的是,普通终端上没有冲突:您可以声明转义序列无需担心您在哪个终端上。
使用C-c h
或C-q
后按功能键可查看其发送的转义序列。
(define-key input-decode-map "\eOA" [up])
(define-key input-decode-map "\eOB" [down])
(define-key input-decode-map "\eOC" [left])
(define-key input-decode-map "\eOD" [right])
(define-key input-decode-map "\e[A" [up])
(define-key input-decode-map "\e[B" [down])
(define-key input-decode-map "\e[C" [left])
(define-key input-decode-map "\e[D" [right])