【发布时间】:2017-08-22 13:24:09
【问题描述】:
我不明白如何生成转义序列,例如。如果:
^[[27;7;47~映射到:C-M-/
^[[27;6;40~映射到:C-(
那么为什么这不能像我想象的那样工作:
^[[27;6;83~不映射到:C-S-s or control/shift/s
而 83 是大写“S”的 ASCII。
control/shift/s(小写)的正确转义码是什么?
【问题讨论】:
我不明白如何生成转义序列,例如。如果:
^[[27;7;47~映射到:C-M-/
^[[27;6;40~映射到:C-(
那么为什么这不能像我想象的那样工作:
^[[27;6;83~不映射到:C-S-s or control/shift/s
而 83 是大写“S”的 ASCII。
control/shift/s(小写)的正确转义码是什么?
【问题讨论】:
您作为示例列出的序列看起来像 xterm 的编程模式(modifyOtherKeys 资源,在2006 中引入)。资源设置对应于 control sequence,一些 emacs 配置知道如何初始化。参考手册页,即2:
2 enables this feature for keys including the exceptions
listed.
因为它影响所有的修饰符(包括Shift),所以仅仅设置相应的资源不是很有用。
OSX 终端不支持该控制序列(或类似的东西)。如果您希望 OSX 终端发送这些转义序列,则必须按照 How to create custom escape sequence in mac terminal 中所述设置您的首选项(使用 xterm 作为参考)。相同的评论适用于有人可能建议的其他终端。
为了举例,这是我的一个测试程序的屏幕截图,显示 s、Shifts、Controls 和 ShiftControls
【讨论】: