一、F1——F4按键输入是什么
虽然F5之后的快捷键不能使用,但是F5之前的功能键还是可以使用的。通过strace可以看到,当按键按下F1到F4时,read系统调用返回的分别为""
通过strace可以看到,当按下F1——F4时,vim读入的内容为
"\33OP"——"\33OS"
但是F5——F9时vim read系统调用为空。
二、终端特殊字符处理
通过终端转义,可以知道,由ESC N 和ESC O引导的是Single Shift。根据页面链接,可以进一步找到终端按键功能说明: They also provide 12 function keys, as well as a few other special-purpose keys:,也就是说这些功能在VT220之后终端中提供
Key Escape Sequence
---------+-----------------
F1 | SS3 P
F2 | SS3 Q
F3 | SS3 R
F4 | SS3 S
F5 | CSI 1 5 ~
F6 | CSI 1 7 ~
F7 | CSI 1 8 ~
F8 | CSI 1 9 ~
F9 | CSI 2 0 ~
F10 | CSI 2 1 ~
F11 | CSI 2 3 ~
F12 | CSI 2 4 ~
---------+-----------------
三、secureCRT终端的配置
从前面说明可以看到,这些F5——F9按键是在PC类型键盘中引入的,而VT220型终端兼容了PC按键,所以需要在SecureCRT的"Options=>Session Options..."=>"Terminal"=>"Emulation"=>"Terminal"复选框中选中“VT220”,低于这个的终端配置可能并不支持F5及之后的功能按键。
这里补充下,为了让终端显示多种颜色,最好勾选页面中的“ANSI color”,从而让vim的主体更加美观。
四、查看vim read系统调动的输入
按下F6按键,读入为"\33[17~"、F9按键读入为"\33[20~"。