我是vi的新手。实际上,我只是用它来修改小的文本文件。我认为数字键盘有一个严重且不寻常的问题,如下所示:我写vi IN
并按Enter。这使我可以访问名为的文件IN
。然后,我使用箭头键(或hjkl)在文件中移动光标。然后我按i
激活insert mode
并编写。问题出在这里:数字小键盘无法正常工作,因为pqrstuvwxyl
当我按0123456789+
(,.-*/=
仍然可以工作)时出现提示。
我是vi的新手。实际上,我只是用它来修改小的文本文件。我认为数字键盘有一个严重且不寻常的问题,如下所示:我写vi IN
并按Enter。这使我可以访问名为的文件IN
。然后,我使用箭头键(或hjkl)在文件中移动光标。然后我按i
激活insert mode
并编写。问题出在这里:数字小键盘无法正常工作,因为pqrstuvwxyl
当我按0123456789+
(,.-*/=
仍然可以工作)时出现提示。
Answers:
据我了解,VT100终端的数字小键盘有两种可能的模式:普通数字小键盘模式和应用程序小键盘模式。后者的键盘按键不发送数字,而是转义序列。例如,“ 1”键发送<ESC>[Oq
,“ 2”键发送<ESC>[Or
,在屏幕上只有字母q和r可见。这些是程序(主机)可以将其解释为某些功能的命令的控制序列。因此,在此模式下,键盘键实际上用作附加功能键。
根据VT100终端标准,程序(主机)可以“询问”终端以将小键盘切换到应用程序模式。(可以通过向终端发送特定的控制序列来完成此操作。)Vi和Vim可以做到这一点。模式开关不是通用的,而是基于程序的程序:它仅在请求它的程序中处于活动状态。在包括外壳程序在内的其他程序中,键盘仍处于数字模式。OS X的Terminal.app中的默认设置是允许程序切换到应用程序模式,这是您现在通过取消选中“允许VT100应用程序键盘模式”选项禁用的功能。(顺便说一句:在OS X 10.7中,此选项标记为“严格的VT100键盘行为”。)
也可以看看:
http://www.vt100.net/docs/vt100-ug/chapter3.html https://ttssh2.osdn.jp/manual/en/usage/tips/appkeypad.html
我自己解决了问题,但是我想知道为什么我的解决方案有效。我取消选择了下图中红色箭头指示的选项, 这是意大利语,但此处是同一窗口的英语版本
但是我不记得启用了它,但是确实存在。