使用 bash shell 时,我尝试使用Shift+LEFT突出显示并复制我输入的命令(而不是使用鼠标)。但是,我得到了很多 C。后来我意识到Shift+UP使A、Shift+DOWN使B和Shift+RIGHT也使D.
为什么会发生这种情况?
我认为它来自原始击键数据(^[[A、^[[B、^[[C和^[[D),但它只是一个大写字母(^[[开头没有)。
我ksh在 OpenBSD 6.2(基于pdksh)上使用默认值,并启用了 Vi 命令行编辑模式。
我试图让箭头键正常工作,作为h、l、j和 的补充k(因为我使用的是德沃夏克键盘)。据我所知,它们根本不起作用。我处于“输入”模式还是“命令”模式并不重要。
当前的键绑定包括:
^[[A = up-history
^[[B = down-history
^[[C = forward-char
^[[D = backward-char
Run Code Online (Sandbox Code Playgroud)
如果我使用 ,这些也是我的箭头键产生的字符排序Ctrl+VArrow key。
箭头键在 Emacs 命令行编辑模式下可以正常工作,但作为一个长期使用 Vi 的用户,我在使用它时感觉有些残缺。
我的感觉是,由箭头键发送的 Escape 被解释为好像我按下了Esc...我通过手动键入获得了等效的行为,例如,Esc[A当我按下时Up-arrow(将我置于命令模式,然后在末尾处处于插入模式)线)。
问:有人能够让方向键在 OpenBSD 的 Vi 模式下直观地工作吗ksh?