当年 Bill Joy 制作 Vi 的时候所用 ADM-3A ,是没有单独的方向键的,所以并没有考虑使用 HJKL 和使用单独方向键的快慢问题。
ADM-3A 键盘上, HJKL 分别是左下上右 键位图 https://en.wikipedia.org/wiki/ADM-3A#/media/File:KB_Terminal_ADM3A.svg
这是我所使用的键盘 键位图 http://www.wasdkeyboards.com/index.php/products/code-keyboard/code-87-key-mechanical-keyboard.html
现在,在有方向键的基础上,使用 Vim 的程序员都说 HJKL 更快,为什么呢?仅仅是不用移动手指吗? 我右手从 HJKL 移动到方向键也不过 0.5 秒左右,还有很多时间需要停下来思考,可以用这部分时间来移动右手,是因为我没有到大神的地步吗?
1 WangYanjie 2017-02-21 10:00:21 +08:00 讲个笑话,买个 HHKB 试试,就我个人感受来说是的。 |
2 SpicyCat 2017-02-21 10:03:10 +08:00 因人而异,愿意用方向键就用方向键。 VIM 这类编辑器的优势就是定制性强,所有快捷键都能重新绑定。 |
![]() | 3 chmlai 2017-02-21 10:39:17 +08:00 移到方向键位置要动手臂, hjkl 就不用 |
4 ilaipi 2017-02-21 10:41:34 +08:00 大部分情况下 上和下用的比较多,左右基本都要用 b/w/e 之类的。 hjkl 中上下是两个手指在按,而上下左右键的上下是一个手指在按。。 习惯了 HJKL 就不会考虑这个问题了 |
![]() | 5 daben1990 2017-02-21 10:45:22 +08:00 现在 mac 上的改建软件 Karabiner 不管用了,不能映射 hjkl 了,求解决方案 |
![]() | 6 TimePPT PRO 方向移动的话,更习惯 WSAD 呢(手滑。。。 |
![]() | 7 rashawn 2017-02-21 10:46:38 +08:00 via iPhone 楼主才是真大神 还没思考完就知道下一句要写在哪了…… |
![]() | 8 ncisoft 2017-02-21 10:56:22 +08:00 via Android 我曾经见过一个程序员写代码,在旁边办公室只听见噼里啪啦不绝于耳,几乎没有停顿,一天的 C 代码行数大约是 1000 行+,同期我撑死也就能到 500 行-。做不到这个程度就别提大神了。 |
![]() | 9 gwind 2017-02-21 10:57:40 +08:00 见过不少人在 vi 里用方向键移动光标,个人觉得,可能是 Linux 用的时间还不长,或者从其他平台(windows)转过来的开发习惯。 |
10 douglas1997 2017-02-21 10:59:17 +08:00 @daben1990 同求解决方案。 |
![]() | 11 ikw 2017-02-21 11:04:51 +08:00 上下左右也不是先天习惯,只是你按多了而已 |
![]() | 14 20015jjw 2017-02-21 11:23:38 +08:00 via Android |
15 debiann 2017-02-21 11:31:16 +08:00 可以想象 lz 的手掌在键盘上摩擦、摩擦、似魔鬼的步伐 |
16 lonelinsky 2017-02-21 11:35:04 +08:00 表示用习惯 hjkl 之后,在很多其他应用里面也想 hjkl =。= |
18 yxcxx 2017-02-21 11:40:17 +08:00 对于我自己来说,把手从主键盘区移开再移回来,自己还要重新找回合适的位置。 |
19 BOYPT 2017-02-21 11:40:26 +08:00 编辑器这类东西,开心就好,还有个符合方向键操作的 nano 装机量也不比 vi 少呀~ 个人意见,方向键在外侧键盘,一般我是弯折手腕用小指去按的……别扭死了 |
![]() | 20 shenxgan 2017-02-21 11:42:07 +08:00 移回来还要另一个 0.5 秒呢 |
![]() | 21 zhidian 2017-02-21 13:05:27 +08:00 We Are Typists First, Programmers Second https://blog.codinghorror.com/we-are-typists-first-programmers-second/ 打字的过程当然有很多停顿,可以用来思考。思路(“心流 /flow ”, etc )通常都是被 0.1 s 打断的。 |
![]() | 22 loading 2017-02-21 14:13:58 +08:00 via Android 其实很多人都使用了键位映射 ctrl+hjkl 这样就不用按 esc 了,虽然他们 esc 早已在 caps 位置。 |
![]() | 23 halmstad 2017-02-21 22:54:00 +08:00 @daben1990 @douglas1997 hammerspoon ,试试这个 |
![]() | 24 Gcourage 2017-02-21 23:02:55 +08:00 via iPad 我盲打不行,打字的时候去像是习惯的力量,可以不看屏幕。但是,慢下来一个个的敲字母就跪了,而移动到方向键,不用看键盘。所以我在 vim 里面还是习惯用,方向键。 |
![]() | 25 daben1990 2017-02-22 10:24:37 +08:00 |