har*_*ski 11 vim keyboard-shortcuts emacs history
我是一名经验丰富的 vim 用户,现在开始使用 GNU emacs。大约在我了解到Ctrl-p和Ctrl-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 参考作品中,但我认为共同起源的问题仍然存在。
我无法提供任何类型的证明,但Ctrl-P和Ctrl-N属于键绑定,与绑定(vs. )emacs
相反。在这个前提下,你应该寻找一个解释本身。vi
bindkey -e
bindkey -v
emacs
emacs
' 教程告诉
有多种方法可以做到这一点。您可以使用箭头键,但将手保持在标准位置并使用命令 Cp、Cb、Cf 和 Cn 会更有效。这些字符相当于四个箭头键,如下所示:
- 上一行,Cp
- 向后,Cb
- 前锋,比照
- 下一行,CN
对于普通vi
用户来说似乎不方便,但绝对有意义。