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


10

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

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

使用Google很难找到有关击键问题的答案,但有趣的是,在看似全面的Wikipedia文章中并未将它们称为“箭头键” 。

*感谢托马斯·迪基(Thomas Dickey)和马克·普洛特尼克(Mark Plotnick)在评论中指出,所讨论的快捷方式已于1984 vi(sic)和1978 emacs参考文献中记录,但我认为共同起源的问题仍然存在。


在emacs(或emacs模式下的bash / ksh)中,我使用Previous / Next来提醒要走的路。沿前进/后退。
Archemar '16

@Archemar嗯,这更有意义。我已将其添加为更合乎逻辑的起源,但我的历史问题仍然存在:-)
harlandski '16

它们早于vim,例如在1984年的“ vi用户手册”中有记录。
Thomas Dickey

我可以找到的最早的Emacs谱系“ n为下一个,p为上一个”的参考文献是AI Memo 447-1978年EMACS编辑器简介。Emacs的前任产品之一(例如RMODE)也可能将n用于下一个和p为先前的,但我找不到参考。
Mark Plotnick

值得一提的是,《 Vi的显示编辑入门》中也提到了它,它已经很久了。它不是来自TECO或SOS。
Thomas Dickey

Answers:


3

我无法提供任何形式的证明,但是Ctrl- PCtrl- N属于emacs键绑定,与vi绑定(bindkey -evs. bindkey -v)相反。在此前提下,您应该自己寻找一个解释emacs

emacs'教程告诉

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

  • 前一行,Cp
  • 向后Cb
  • 前进,CF
  • 下一行,Cn

对于普通vi用户来说似乎不方便,但是绝对有道理。

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.