我不明白如何生成转义序列,例如。如果:
^[[27;7;47~
maps to:C-M-/
^[[27;6;40~
maps to:C-(
那么为什么这不能像我想象的那样工作:
^[[27;6;83~
doesn't map to: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
关于macos - 在终端中创建复杂转义代码(转义序列)的正确方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45818906/