如果您查看“终端”->“首选项”->“设置”->“键盘”窗格,它会显示某些键盘键和组合如何映射到 shell 字符串。
我觉得这个列表很奇怪,因为它缺少很多组合,比如 Shift+F1,而且它将 option+F1 和 F6 映射到相同的代码。此外,显示的代码看起来像 ANSI 转义序列,但功能键编号(我检查过的)不匹配。
我想找到这些细节的解释,以及为缺失的组合(如 Shift+F1)添加正确代码的参考。感谢您的意见
答案1
映射之所以不同,是因为 Mac OS X 不是 DOS,您链接到的网站显然是为 DOS 编写的。具体映射是从以前的 Unix/Linux 终端仿真器继承而来的,这反映在您希望显示哪种终端仿真器 Terminal.app 的选项中:
例如你所见这里,映射F6
到^[[17~
是终端仿真器中的普遍共识。
终端的Shift-F5
相当于Shift-F12
VT220F13
的F20
。
终端的Opt-F1
相当于Opt-F15
VT220 的F6
,F20
即选项向右“移动”5 个键。
我认为这种映射既是为了兼容现有映射,也是为了F
在现代 Mac 上仅使用 12 或 15 个 F 键提供尽可能接近完整的 20 键键盘。
如果您不喜欢这些特定的映射,可以在您之前提到的设置对话框中轻松更改它们。请记住,您可以映射到几乎任意的输入(这实际上是在终端中执行类似 Typinator/TextExpander 的键盘快捷键的一种非常好的方法):
如果您更喜欢在纯文本编辑器中编辑,您可以通过齿轮图标导出终端设置,编辑它(它是 XML),然后再次导入它。
答案2
这很棘手,现在是 2015 年了,仍然没有简单的答案Shift-F2,我需要远程 Linux 机器上的 Byobu。
我为 Max OS X 编写了这个配置终端应用程序,您可以导入它,它能够实现F1与、和 的F10组合。ShiftCtrlAlt
https://github.com/timothybasanov/terminal-app-function-keys
引用该页面,以下是您需要添加到您的终端应用程序如果你想Shift-F2和朋友一起工作:
F1: \033OP
Shift-F1: \033[1;2P
Ctrl-F1: \033[1;5P
Alt-F1: \033[1;3P
F10: \033[20~
Shift-F10: \033[20;2~
Shift-Left: \033[1;2D
PgUp: \033[5~
Alt-PgUp: \033[5;3~
Delete: \033[3~