一个关于 Vim 的 HJKL 问题 - V2EX
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
shawnxwang
V2EX    问与答

一个关于 Vim 的 HJKL 问题

  •  
  •   shawnxwang 2017-02-21 09:53:45 +08:00 4393 次点击
    这是一个创建于 3154 天前的主题,其中的信息可能已经有所发展或是发生改变。

    当年 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 秒左右,还有很多时间需要停下来思考,可以用这部分时间来移动右手,是因为我没有到大神的地步吗?

    25 条回复    2017-02-22 10:24:37 +08:00
    WangYanjie
        1
    WangYanjie  
       2017-02-21 10:00:21 +08:00
    讲个笑话,买个 HHKB 试试,就我个人感受来说是的。
    SpicyCat
        2
    SpicyCat  
       2017-02-21 10:03:10 +08:00
    因人而异,愿意用方向键就用方向键。 VIM 这类编辑器的优势就是定制性强,所有快捷键都能重新绑定。
    chmlai
        3
    chmlai  
       2017-02-21 10:39:17 +08:00
    移到方向键位置要动手臂, hjkl 就不用
    ilaipi
        4
    ilaipi  
       2017-02-21 10:41:34 +08:00
    大部分情况下 上和下用的比较多,左右基本都要用 b/w/e 之类的。 hjkl 中上下是两个手指在按,而上下左右键的上下是一个手指在按。。

    习惯了 HJKL 就不会考虑这个问题了
    daben1990
        5
    daben1990  
       2017-02-21 10:45:22 +08:00
    现在 mac 上的改建软件 Karabiner 不管用了,不能映射 hjkl 了,求解决方案
    TimePPT
        6
    TimePPT  
    PRO
       2017-02-21 10:46:34 +08:00
    方向移动的话,更习惯 WSAD 呢(手滑。。。
    tr>
    rashawn
        7
    rashawn  
       2017-02-21 10:46:38 +08:00 via iPhone
    楼主才是真大神 还没思考完就知道下一句要写在哪了……
    ncisoft
        8
    ncisoft  
       2017-02-21 10:56:22 +08:00 via Android
    我曾经见过一个程序员写代码,在旁边办公室只听见噼里啪啦不绝于耳,几乎没有停顿,一天的 C 代码行数大约是 1000 行+,同期我撑死也就能到 500 行-。做不到这个程度就别提大神了。
    gwind
        9
    gwind  
       2017-02-21 10:57:40 +08:00
    见过不少人在 vi 里用方向键移动光标,个人觉得,可能是 Linux 用的时间还不长,或者从其他平台(windows)转过来的开发习惯。
    douglas1997
        10
    douglas1997  
       2017-02-21 10:59:17 +08:00
    @daben1990 同求解决方案。
    ikw
        11
    ikw  
       2017-02-21 11:04:51 +08:00
    上下左右也不是先天习惯,只是你按多了而已
    ikw
        12
    ikw  
       2017-02-21 11:06:11 +08:00
    @daben1990 #5 10.12 ?可以看看 Karabiner-Elements
    daben1990
        13
    daben1990  
       2017-02-21 11:12:50 +08:00
    @zwpaper Kar-ele 只能映射一个键,不能搞组合键,以前是通过 Ctrl + hjkl 进行移动的。
    20015jjw
        14
    20015jjw  
       2017-02-21 11:23:38 +08:00 via Android
    @daben1990 google 下 有人 fork 了一个

    lz 你自己用着开心就好呀 反正我懒 hjkl 适合我懒的特点
    debiann
        15
    debiann  
       2017-02-21 11:31:16 +08:00
    可以想象 lz 的手掌在键盘上摩擦、摩擦、似魔鬼的步伐
    lonelinsky
        16
    lonelinsky  
       2017-02-21 11:35:04 +08:00
    表示用习惯 hjkl 之后,在很多其他应用里面也想 hjkl =。=
    ikw
        17
    ikw  
       2017-02-21 11:39:12 +08:00
    @daben1990 #13 我也没用过 ,我就是这个原因一直不升系统
    yxcxx
        18
    yxcxx  
       2017-02-21 11:40:17 +08:00
    对于我自己来说,把手从主键盘区移开再移回来,自己还要重新找回合适的位置。
    BOYPT
        19
    BOYPT  
       2017-02-21 11:40:26 +08:00
    编辑器这类东西,开心就好,还有个符合方向键操作的 nano 装机量也不比 vi 少呀~

    个人意见,方向键在外侧键盘,一般我是弯折手腕用小指去按的……别扭死了
    shenxgan
        20
    shenxgan  
       2017-02-21 11:42:07 +08:00
    移回来还要另一个 0.5 秒呢
    zhidian
        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 打断的。
    loading
        22
    loading  
       2017-02-21 14:13:58 +08:00 via Android
    其实很多人都使用了键位映射
    ctrl+hjkl 这样就不用按 esc 了,虽然他们 esc 早已在 caps 位置。
    halmstad
        23
    halmstad  
       2017-02-21 22:54:00 +08:00
    @daben1990 @douglas1997 hammerspoon ,试试这个
    Gcourage
        24
    Gcourage  
       2017-02-21 23:02:55 +08:00 via iPad
    我盲打不行,打字的时候去像是习惯的力量,可以不看屏幕。但是,慢下来一个个的敲字母就跪了,而移动到方向键,不用看键盘。所以我在 vim 里面还是习惯用,方向键。
    daben1990
        25
    daben1990  
       2017-02-22 10:24:37 +08:00
    关于     帮助文档     自助推广系统     博客     API     FAQ     Solana     985 人在线   最高记录 6679       Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 28ms UTC 23:05 PVG 07:05 LAX 16:05 JFK 19:05
    Do have faith in what you're doing.
    ubao snddm index pchome yahoo rakuten mypaper meadowduck bidyahoo youbao zxmzxm asda bnvcg cvbfg dfscv mmhjk xxddc yybgb zznbn ccubao uaitu acv GXCV ET GDG YH FG BCVB FJFH CBRE CBC GDG ET54 WRWR RWER WREW WRWER RWER SDG EW SF DSFSF fbbs ubao fhd dfg ewr dg df ewwr ewwr et ruyut utut dfg fgd gdfgt etg dfgt dfgd ert4 gd fgg wr 235 wer3 we vsdf sdf gdf ert xcv sdf rwer hfd dfg cvb rwf afb dfh jgh bmn lgh rty gfds cxv xcv xcs vdas fdf fgd cv sdf tert sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf shasha9178 shasha9178 shasha9178 shasha9178 shasha9178 liflif2 liflif2 liflif2 liflif2 liflif2 liblib3 liblib3 liblib3 liblib3 liblib3 zhazha444 zhazha444 zhazha444 zhazha444 zhazha444 dende5 dende denden denden2 denden21 fenfen9 fenf619 fen619 fenfe9 fe619 sdf sdf sdf sdf sdf zhazh90 zhazh0 zhaa50 zha90 zh590 zho zhoz zhozh zhozho zhozho2 lislis lls95 lili95 lils5 liss9 sdf0ty987 sdft876 sdft9876 sdf09876 sd0t9876 sdf0ty98 sdf0976 sdf0ty986 sdf0ty96 sdf0t76 sdf0876 df0ty98 sf0t876 sd0ty76 sdy76 sdf76 sdf0t76 sdf0ty9 sdf0ty98 sdf0ty987 sdf0ty98 sdf6676 sdf876 sd876 sd876 sdf6 sdf6 sdf9876 sdf0t sdf06 sdf0ty9776 sdf0ty9776 sdf0ty76 sdf8876 sdf0t sd6 sdf06 s688876 sd688 sdf86