在vim中,为什么'j'用于down,'k'用于up?

我已经使用vim很多年了,从来没有真正想过。 我的一个朋友问这是为什么,注意到在我们的文化中,左边通常会映射到右边,而右边会映射到下面,使vim键倒退。 我明白,他们在家里排队,这意味着你不必将手指移动到任何地方打他们,但这完全是一个不同的观点。 基本上,我的问题是:有谁知道为什么这些键被赋予他们目前的目的? 如果你能指点我一些关于决定的文件,那将是非常好的。

答案是vi的维基百科条目 。 比尔·霍华德(Bill Joy)写了一个名为vim前体vi的可视化模式,他使用了一个Lear Siegler ADM3Aterminal,H,J,K,L键映射到左,右,上,右。从此以后。

这是键盘布局:

在这里输入图像说明

ADM3A布局中的其他几点注意事项:

  • Q之后:换码键 – 比现在的键盘更容易使用,因此是正常和插入模式之间切换的好select。
  • 右上angular:'Home'键作为代字符(〜)加倍,后来变成了Unix用户主目录的缩写。

vimtutor提供了“J”看起来像一个向下的箭头的助记符,虽然这可能或可能不是它被选中的原始理由。

这是一个总的猜测,但是: Ctrl + J字符是“换行”字符,在传统的TTY上向下移动一行,提供助记符。 K就在Qwerty键盘的旁边,在原始位置右手的第二个最常用的手指之下。

我一直认为这是因为在DVORAK布局上,j和k也是彼此相邻的。 在DVORAK和A / QWERTY / Z上都没有多less这个属性

从用户体验的angular度来看,打开文件之后,你总是先下移,往下移动通常是更频繁的操作。 对我来说,把你按下的键放在左边更频繁是有意义的。 您可以尝试切换2键,并尝试告诉哪个方式更好。 对我来说,“J”倒更舒适。