1

我正在尝试使用 emacs,并在 Windows 上的 mintty / Cygwin 中运行它。

我正在运行 emacs 版本 24.3.1。

我发现现在 emacs 默认使用临时模式文本选择,使用 Shift + 箭头键来选择文本,就像大多数现代 UI 一样。

但是,有一个键绑定在 mintty 中不起作用:Shift+Up。

我如何让它工作?

4

1 回答 1

0

我认为 xterm 的 terminfo 设置有问题,这就是 mintty 所模拟的。

我使用esrshowkey转储终端为 Shift-Up、Shift-Down 发送的内容:

^[ 1 ; 2 A   shift-up
^[ 1 ; 2 B   shift-down

xterm我用 and 反编译了(不能正常工作)和rxvt(在 rxvt 终端中运行时确实如此)的 terminfo 条目,infocmp -L xterminfocmp -L rxvt注意到上面的序列被映射xtermkey_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 固定选择。

于 2013-09-08T23:24:52.527 回答