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

一个关于 Vim 的 HJKL 问题

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

    当年 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   2017-02-21 10:46:34 +08:00
    方向移动的话,更习惯 WSAD 呢(手滑。。。
    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 同求解决方案。
    zwpaper
        11
    zwpaper   2017-02-21 11:04:51 +08:00
    上下左右也不是先天习惯,只是你按多了而已
    zwpaper
        12
    zwpaper   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 =。=
    zwpaper
        17
    zwpaper   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
    关于   ·   帮助文档   ·   FAQ   ·   API   ·   我们的愿景   ·   广告投放   ·   感谢   ·   实用小工具   ·   1566 人在线   最高记录 5497   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 45ms · UTC 00:09 · PVG 08:09 · LAX 17:09 · JFK 20:09
    ♥ Do have faith in what you're doing.