我这几天在和学习使用 Vim ,并且试着用平铺窗口管理器来管理窗口。
发现默认的调整浮动窗口方向的快捷键 UIOP 这四个就是按照左上下右这种符合直觉的方式来排布的。
当然,HJKL 还是按照左下上右来排布。
很好奇这一点,为什么要使用一个反直觉的 JK 设计。
我想到的理由是 J 对应的是人的食指,而向下的操作在实际使用过程中使用的频率更高。

AI 的回答是:
Vim 编辑器中的键位映射,尤其是 h, j, k, 和 l 用于光标移动,是基于历史原因设定的。j 袌似字母 j 的下降形状,被用于向下移动。

vim 确实可以按照自己的逻辑改成 J 对应上而 K 对应。只是想搞清楚这个历史原因的来由。

都可以改的啊, 你可以改成你要的, 试试看好不好用

  1. 大多数人,食指和中指,比无名指灵活2. 一般情况下,向上和向下的操作频率,可能 会高于向左和向右3. 正确的指法下,食指默认放在 j 上面,中指默认放在 k 上面4. 和“j” 褒姒字母 j 的下降形状,无关综上,最多操作的向上向下移动,映射到了食指和中指默认放置的按键上,即,j 和 k

    你这等于没回答,楼主想问的是为啥不是 j 向下,k 向上

Vi 原作者使用的 ADM-3A 终端将 HJKL 作为箭头键使用, 因此 Vi 和它的继任者都沿用了这个布局参考: en.wikipedia.org/wiki/ADM-3A#Legacy

因为 J 和 ↓ 长得比较像 (乱说的

首选:不选 j 当做向下,就选 f 当做向下,再不济用空格键也行,别人敲一下 vi 能敲 1.5 下😂

还有一个思路,在以前的 tty 时期,也就是一台大型机配许多台远程终端的时候ctrl j ,是另起一行的快捷键,也可以作为命令输入完毕后的回车如果 vim 在这之后出现,那有可能是沿用了这个 j 向下其实现在 linux 大多数终端下,ctrl j ,也是和回车一样的表现

不知道历史缘由,个人觉得向下移动比向上移动频繁,而食指比中指更灵活,强强联合。

不知道为啥这么设计,但是不得不说,适应了之后,这套键位确实舒服。可能是向下使用的频率更高吧,加上正好食指也放在 J 上,H L 对应左右,也是相当有趣的,还有就是,H 需要移动手指,正好向左移动也是一个低频操作。感觉设计这个键位的人也是个人才,它没有采用 WASD 这样的上下左右。

stackoverflow.com/questions/6553758/in-vim-why-is-j-used-for-down-and-k-for-up

要么 J 要么 K ,按错 J 就换 K ,按错 K 就换 J 。毫无压力,毫无记忆

我一开始也不习惯,但是后来自己慢慢合理化了,用的下面这个步骤:1. 把右手食指、中指、无名指放在方向键上,就假装你在玩跑跑卡丁车,记住哪个手指在按上键。2. 把右手放回至键盘区域一字排开,按照打字习惯,右手食指放在字母 J 上,看看刚刚按上键的手指,现在在哪里。当然如果 I J K L 分别对应 ⬆️ ⬅️ ⬇️ ➡️ 的话,我会更习惯(跟方向键体验一样了),但是感觉调整字母 I 的映射,对肌肉记忆改动太大了,如果需要临时用别人电脑就不习惯了。

可能是大部分人按 ⬇️ 的频率比 ⬆️ 多,然后中指比无名指发达

#5 这还真不是乱说

以前键盘就是这样。即使小键盘区的方向键成为现在这种 上左下右形状也才没几年。以前键盘上都是排成一排,上下左右、左下上右、左上下右…各种组合,每个厂家都不一样

点进来这个帖子的时候我也感觉大多数人按下的频率更高。但是又想了一下,如果是用浏览器的 vim 插件,确实按 j 的频率更高,但是用 vim 编码的时候,可能写错了要改的时候按“上”的频率反而会更高一些,要是编码顺利的话换号是用回车

古时候的键盘还不是现在这样的 上左下右

JIKL 更好?

你代码是往下写的 不是往上写的 j 分配个更常用的下很合理

因为作者用的机器键盘布局是这样

vi.stackexchange.com/questions/42426/why-did-vi-use-hjkl-instead-of-jikl/42428#42428看这个回答1. ADM-3A 终端仿真设计的问题2. 沿用了最早打字机的设计