CTRL + P 向上和 CTRL + N 向下的历史渊源是什么?

har*_*ski 11 vim keyboard-shortcuts emacs history

我是一名经验丰富的 vim 用户,现在开始使用 GNU emacs。大约在我了解到Ctrl-pCtrl-n是 emacs 中 up 和 down 的默认值的同时,我还了解到它们是 vim 中正常模式下 k 和 j 的变体。

有谁知道这些快捷方式的由来?我想从逻辑上讲,它们来自 p(revious) 和 n(ext),或者可能来自 (u)p 和 (dow)n,但我问的是它们属于哪个程序、系统或标准。似乎不太可能将几个随机的 emacs 快捷方式借用到 vim 中,因此将它们包含在两者中让我认为它们可能早于 emacs 和 vim。*

使用谷歌很难找到击键问题的答案,但有趣的是,在看似全面的维基百科文章中,它们并没有被称为“箭头键” 。

*感谢 Thomas Dickey 和 Mark Plotnick 在评论中指出有问题的快捷方式记录在 1984 vi (sic) 和1978 emacs 参考作品中,但我认为共同起源的问题仍然存在。

And*_*ese 5

我无法提供任何类型的证明,但Ctrl-PCtrl-N属于键绑定,与绑定(vs. )emacs相反。在这个前提下,你应该寻找一个解释本身。vibindkey -ebindkey -vemacs

emacs' 教程告诉

有多种方法可以做到这一点。您可以使用箭头键,但将手保持在标准位置并使用命令 Cp、Cb、Cf 和 Cn 会更有效。这些字符相当于四个箭头键,如下所示:

  • 上一行,Cp
  • 向后,Cb
  • 前锋,比照
  • 下一行,CN

对于普通vi用户来说似乎不方便,但绝对有意义。