macos - 在终端中创建复杂转义代码(转义序列)的正确方法

标签 macos emacs terminal

我不明白如何生成转义序列,例如。如果:

^[[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 作为引用)。同样的评论适用于有人可能建议的其他终端。

为了举例,这是我的一个测试程序的屏幕截图,显示 sShiftsControlsShiftControls

example of modifyOtherKeys

关于macos - 在终端中创建复杂转义代码(转义序列)的正确方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45818906/

相关文章:

php - 如何在 OS X 上使用 OpenSSL 1.0.1 编译 PHP 5.5.19

r - 组合两种 Emacs 主要模式或更改现有模式的简单方法是什么?

linux - 修剪音频文件并获得静音之间的部分

git - 如何在 VSCode 的集成终端中启用 git 自动完成?

jquery - 如何从另一个功能更改 JQuery 终端提示?

macos - 如何将PDF转换为CGImage,然后保存为高DPI JPG图像?

macos - 如何在 Mac 上从 $PATH 中删除条目

python - 苹果操作系统 : unable to use virtualenv

Emacs:启动时重新打开上次 session 的缓冲区?

emacs - 本地化 Emacs 快捷方式