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

geo*_*wa4 63 vim key-bindings

我已经使用vim很多年了,从来没有真正考虑过它.我的一个朋友问为什么会这样,注意到在我们的文化中,左边通常会映射到向上,而右边会映射到向下,使vim键向后.我知道他们在主页上,这意味着你不必将手指移动到任何地方就可以击中它们,但这完全是另一回事.基本上,我的问题是:有谁知道为什么这些密钥被给予他们目前的目的?如果你能指出我关于决定的一些文件,那将是很棒的.

mar*_*ton 89

答案在viki的维基百科条目中.编写ex的视觉模式的Bill Joy,最终成为vim前身vi--使用了Lear Siegler ADM3A终端,H,J,K,L键映射到左,下,上,右 - 这就是从那时起.

这是键盘布局:

在此输入图像描述

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

  • Q的左侧:转义键 - 比今天的键盘更加方便,因此是在普通模式和插入模式之间切换的不错选择.
  • 右上角:'Home'键兼作tilde(〜),后来成为Unix用户主目录的简写.

  • 好吧现在我想问题是为什么ADM3A使用J来降低. (51认同)
  • @ geowa4,J可能已关闭,因为Ctrl + J是ASCII中的换行符.ADM3A终端只比电传打字机简单得多,所以这样的巧合可能会简化实现中的某些内容.请注意,Ctrl + H是ASCII退格,对应左边... (14认同)
  • 啊废话。你赢了我一分钟。 (3认同)

jwo*_*der 20

vimtutor 提供了'J'看起来模糊地像向下箭头的助记符,尽管这可能是也可能不是选择它的原因.

  • 另一个助记符是`j`有[descender](http://en.wikipedia.org/wiki/Descender),而`k`有[ascender](http://en.wikipedia.org/wiki/ Ascender_(排印)). (15认同)
  • 为什么-1这个?这很有意思并回答了这个问题. (3认同)

Gre*_*ill 13

这是一个总猜测,但是:Ctrl+J字符是"换行"字符,在传统的TTY上向下移动一行,提供助记符.K在Qwerty键盘旁边,在主要位置右手第二个最常用的手指下面.