我正在尝试emacs,并在Windows上以mintty/Cygwin运行它。
我正在运行 emacs 版本 24.3.1。
我发现 emacs 现在默认使用临时模式文本选择,使用 Shift + 箭头键来选择文本,就像大多数现代 UI 一样。
但是,有一个键绑定在mintty中不起作用:Shift+Up。
我如何让它工作?
xterm的terminfo设置有问题,这就是mintty模拟的内容。
我使用 esr 的showkey
来转储终端为上移、下移发送的内容:
^[ 1 ; 2 A shift-up
^[ 1 ; 2 B shift-down
我用 infocmp -L xterm
和 infocmp -L rxvt
反编译了 xterm
(无法正常工作)和 rxvt
(在 rxvt 终端中运行时确实如此)的 terminfo 条目,并注意到上面的序列被映射到xterm
到 key_sr
( kind
) 和 key_sf
( kri
) - 在这里查看这些家伙的定义。但rxvt
没有这样的条目。
所以我调整了条目:
$ infocmp xterm > xterm.ti
应用了此更改:
- kind=E[1;2B, kmous=E[M, knp=E[6~, kpp=E[5~,
- kri=E[1;2A, mc0=E[i, mc4=E[4i, mc5=E[5i, meml=El,
+ kmous=E[M, knp=E[6~, kpp=E[5~,
+ mc0=E[i, mc4=E[4i, mc5=E[5i, meml=El,
编译并安装了更新的 xterm:
$ tic xterm.ti
这个固定的选择在 emacs 中使用 Shift+Up。