在 vim 里,大家都是用哪个键来替代 esc 的? - V2EX
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
neone
V2EX    Vim

在 vim 里,大家都是用哪个键来替代 esc 的?

  •  
  •   neone 2015-11-11 16:00:45 +08:00 19784 次点击
    这是一个创建于 3629 天前的主题,其中的信息可能已经有所发展或是发生改变。

    按 esc 的话感觉离得太远了很别扭。

    86 条回复   &nsp;2022-10-08 15:59:41 +08:00
    xi4oh4o
        1
    xi4oh4o  
       2015-11-11 16:00:59 +08:00
    jj
    Jimrussell
        2
    Jimrussell  
       2015-11-11 16:03:18 +08:00
    CapsLock 和 ESC 全局对换。
    liaa
        3
    liaa  
       2015-11-11 16:04:04 +08:00   1
    Mac 用户, Control 键.
    使用的方式如下:
    1)如果单独按 ctrl 则映射到 esc
    2)如果 ctrl + 其他按键 仍然为 ctrl

    以上使用了一个叫做 karabiner 的软件来设置。
    liaa
        4
    liaa  
       2015-11-11 16:05:24 +08:00
    补: 然后全局把 capslock 和 control 键互换. 然后 happy vim.
    sunjourney
        5
    sunjourney  
       2015-11-11 16:07:49 +08:00   1
    Esc -> CapsLock
    Double Shift -> CapsLock
    Tap CapsLock -> ESC
    Holding CapsLock -> CTRL
    sunjourney
        6
    sunjourney  
       2015-11-11 16:09:43 +08:00
    另外映射完 Capslock 到 Ctrl ,可以 Capslock + [ 进入 normal mode
    liaa
        7
    liaa  
       2015-11-11 16:15:16 +08:00
    @sunjourney 用用我的方式,你会笑的
    squallcx
        8
    squallcx  
       2015-11-11 16:20:18 +08:00
    `
    laoyur
        9
    laoyur  
       2015-11-11 16:24:27 +08:00
    我是属于特别喜欢 Esc 键的一类人,左手移过去中指按一下再回来,全程不用低头看键盘
    superhxnju
        10
    superhxnju  
       2015-11-11 16:28:10 +08:00
    jk
    chengkai1853
        11
    chengkai1853  
       2015-11-11 16:30:47 +08:00
    hhkb 按 ESC 很方便
    tang3w
        12
    tang3w  
       2015-11-11 16:32:27 +08:00
    这是目前的配置:

    " Mappings
    imap <Esc> <Nop>
    vmap <Esc> <Nop>
    inoremap <C-c> <Esc>
    nmap <C-c> <Nop>
    zhicheng
        13
    zhicheng  
       2015-11-11 16:32:46 +08:00
    Control + [ 从来都是用这个的,不知道为什么你们喜欢用 ESC 。
    jones
        14
    jones  
       2015-11-11 16:40:41 +08:00
    直接 Control+C 就足够了,基本等同于 ESC
    agate
        15
    agate  
       2015-11-11 16:53:55 +08:00
    @Jimrussell 我也是~~~ 全局替换... 键盘直接映射了
    wbingeek
        16
    wbingeek  
       2015-11-11 16:58:24 +08:00
    换键盘.......poker2 或 HHKB 这些按 esc 都很方便的
    oska874
        17
    oska874  
       2015-11-11 16:58:54 +08:00
    用 esc 替换 esc 。
    Owenjia
        18
    Owenjia  
       2015-11-11 17:05:12 +08:00
    ^[ 或者 ^c 是跟 Esc 一样的。
    hxtheone
        19
    hxtheone  
       2015-11-11 17:07:51 +08:00
    ctrl + c ,一直都是这个搭配
    loryyang
        20
    loryyang  
       2015-11-11 17:09:57 +08:00
    保持 esc ,没感觉有什么不习惯的,我的小手指很灵活(*^__^*)
    fish267
        21
    fish267  
       2015-11-11 17:12:06 +08:00
    control + C 呀
    ivvei
        22
    ivvei  
       2015-11-11 17:20:00 +08:00
    jk
    peizh2006
        23
    peizh2006  
       2015-11-11 17:21:05 +08:00
    我想知道,你们是用什么手指按 ctrl 的?
    我自己就是手掌
    xxm459259
        24
    xxm459259  
       2015-11-11 17:24:32 +08:00
    @peizh2006 Ctrl 在 CapsLock 的位置。
    xhat
        25
    xhat  
       2015-11-11 17:25:37 +08:00   1
    这个问题在下曾认真思考过。

    esc 键程较远,普通标准键盘小手指从字母 a 到 esc 位移 10cm 左右,频率高。即便是 hhkb 中的 ctrl 替代 esc 也有 1cm 以上的小指移动成本。
    要实现这个功能,最好选择手指自然所在的 asdf 和 jkl;这 8 个键上。
    这 8 个按键要实现 esc 只能用两次击键完成,最初想左右手各一键,发现这个动作会 牵动两个胳膊的神经。
    所以一个手完成最好,这 8 个手指中,选择最方便的、同一手上的不同手指,多测试,会发现最优的就是 jk 。
    还有一个问题,要保证 imap 下正常输入 jk 的概率。 cet4 词汇表的单词中连续出现 j 和 k 的单词数为 0 。事实上几年来我还没有遇到过此困扰。

    有同学用 jj ,同一个键的两次连续击键要触发两次肌肉的活动,而相邻两键则一次自然击键很连贯(不知是不是我个人习惯的缘故)

    jk 的 高效在于: 0 位移,单手,快速,肌肉无压力。

    我的 vimrc : https://github.com/xhat/vimrc
    gimp
        26
    gimp  
       2015-11-11 17:25:39 +08:00
    Poker2 Esc 离无名指很近的,一伸就够到了
    18000rpm
        27
    18000rpm  
       2015-11-11 17:32:00 +08:00
    换了好多了。。用过的从先到后有下面这些(好烦
    C-[
    C-c
    jk
    J
    C-g
    /
    ;
    wlsnx
        28
    wlsnx  
       2015-11-11 17:32:20 +08:00
    cap,不过我还是习惯按<C-c>
    FrankFang128
        29
    FrankFang128  
       2015-11-11 17:35:44 +08:00 via Android
    ESC ,节奏感
    behappy
        30
    behappy  
       2015-11-11 17:42:28 +08:00
    C-[
    tracyone
        31
    tracyone  
       2015-11-11 17:43:01 +08:00 via Android
    jj
    liuxiaoxiaochen
        32
    liuxiaoxiaochen  
       2015-11-11 17:48:41 +08:00
    C-[ 就是 esc 或者是把 capslock 和 esc 替换,这样是最合理的 因为最开始 vi 的作者这样做的时候 键盘的大写键的位置就是 esc 只是最后位置改变了
    griffinqiu
        33
    griffinqiu  
       2015-11-11 17:51:11 +08:00
    HHKB
    kinghui
        34
    kinghui  
       2015-11-11 17:51:12 +08:00
    CapsLock 变成 Ctrl , 然后 C-3 , 特顺手
    hujianxin
        35
    hujianxin  
       2015-11-11 17:58:09 +08:00
    我手长,而且快。
    Sin
        36
    Sin  
       2015-11-11 17:59:04 +08:00
    脚踏板,淘宝有卖
    Goooogle
        37
    Goooogle  
       2015-11-11 18:01:30 +08:00 via Android
    caps lock 同时映射到 Ctrl 和 ESC ,这绝对是最方便的方式
    Linux user :
    https://github.com/cmatheson/super-caps

    @liaa karabiner 配置复杂么
    虽然还没有 OS X 备用
    neone
        38
    neone  
    OP
       2015-11-11 18:17:49 +08:00
    看了下大家的习惯,我决定用 jk 了。另外,脚踏板是什么东西?@Sin
    FIF
        39
    FIF  
       2015-11-11 18:22:23 +08:00
    @neone
    我来抢答下
    这是编程界最神奇的外设之一
    尤其是 lisp 程序员
    往往一买买两个
    (笑)
    spark
        40
    spark  
       2015-11-11 18:45:00 +08:00
    用五笔, jj 会造成打字不畅。所以用 cmd + p 。
    Artotria
        41
    Artotria  
       2015-11-11 19:00:32 +08:00 via Android
    破兔表示 EscF 方便的很
    neone
        42
    neone  
    OP
       2015-11-11 19:27:23 +08:00
    可否上张图,链接也可以。 @FIF
    choury
        43
    choury  
       2015-11-11 19:34:24 +08:00
    wklken
        44
    wklken  
       2015-11-11 19:36:51 +08:00
    k-vim 中用的 kj 原因是好记(kill >_< )
    zhyu
        45
    zhyu  
       2015-11-11 19:41:17 +08:00
    fd
    我用 spacemacs
    DemoJameson
        46
    DemoJameson  
       2015-11-11 19:45:24 +08:00
    @Jimrussell CapsLock 和 ESC 全局对换。+10086
    DemoJameson
        47
    DemoJameson  
       2015-11-11 19:46:44 +08:00
    另外双击 capslock 可以回到英文输入法,通过 autohotkey 实现
    FIF
        48
    FIF  
       2015-11-11 20:11:16 +08:00
    @neone
    这就是个笑话= =
    不过淘宝确实有卖的,搜索 “脚踏板 usb ” 即可
    neone
        49
    neone  
    OP
       2015-11-11 20:35:20 +08:00
    哦,原来如此。 @FIF
    Reficul
        50
    Reficul  
       2015-11-11 21:23:00 +08:00
    一直 Ctrl+C ,我还是传统键位。白轴按一天之后的确感觉小拇指要断了
    Balthild
        51
    Balthild  
       2015-11-11 21:26:40 +08:00 via Android
    表示 Esc 不会很难按吧……左上角最角落的傲娇而且和别的键分开的,随手一拍就按到了
    codecrash
        52
    codecrash  
       2015-11-11 22:02:16 +08:00
    表示不换
    limbo0
        53
    limbo0  
       2015-11-11 22:10:53 +08:00
    jk 很好有单词是 jk 一起的
    timothyye
        54
    timothyye  
       2015-11-11 22:16:59 +08:00 via Android
    买个 hhkb , esc 就不远了
    sitin
        55
    sitin  
       2015-11-11 22:17:11 +08:00
    HHKB 的同学表示 ESC 不难按啊,不过我还是把 JK 一起映射的。
    larry618
        56
    larry618  
       2015-11-11 23:24:00 +08:00 via Android
    我的设为 jjk 会不会是一朵奇葩~
    MCVector
        57
    MCVector  
       2015-11-12 00:07:01 +08:00
    @xhat Dijkstra, LoL
    waklin
        58
    waklin  
       2015-11-12 08:55:52 +08:00
    @laoyur 和我一样
    codeplay
        59
    codeplay  
       2015-11-12 09:00:02 +08:00 via iPhone
    我是用 karabiner 增加了空格作为一个修饰键,然后 space+q
    MarioLuisGarcia
        60
    MarioLuisGarcia  
       2015-11-12 09:27:22 +08:00
    @Goooogle OSX 下能将 Cap 的长短按压分别对应 ctrl 和 esc 吗?
    realpg
        62
    realpg  
    PRO
       2015-11-12 10:20:15 +08:00
    以前干运维时候,天天摆弄 VIM ,曾经自制过一个薄膜压力的 ESC 键
    直接贴在笔记本空格左下边…… 拆的一个老 USB 键盘的主芯片 然后焊了几个小元件

    大拇指直接就能按到
    coolicer
        63
    coolicer  
       2015-11-12 10:53:50 +08:00
    何不改成声控
    TonyHoAspire
        64
    TonyHoAspire  
       2015-11-12 11:45:20 +08:00
    @fish267
    @Reficul
    @hxtheone
    @wlsnx
    @jones

    Ctrl + c 在 Block 操作的时候会有问题。
    MarioLuisGarcia
        65
    MarioLuisGarcia  
       2015-11-12 12:12:30 +08:00
    @sunjourney , 将 control 和 esc 同时 Map 到 Caps 键上,在想唤醒`Escape`行为时,必须忍受一定时长的延迟。
    MarioLuisGarcia
        66
    MarioLuisGarcia  
       2015-11-12 12:12:52 +08:00
    @sunjourney , 这是个坑。
    cxshun
        67
    cxshun  
       2015-11-12 12:55:32 +08:00
    我是习惯直接 CTRL+C 。
    @TonyHoAspire block 操作就没办法了,只能 esc 了,但毕竟比较少。
    Rand01ph
        68
    Rand01ph  
       2015-11-12 12:58:43 +08:00
    kj ~~
    nyanpath
        69
    nyanpath  
       2015-11-12 12:59:17 +08:00
    脚踏板
    Hanks
        70
    Hanks  
       2015-11-12 13:04:52 +08:00
    Hanks
        71
    Hanks  
       2015-11-12 13:05:20 +08:00
    Fechin
        72
    Fechin  
    PRO
       2015-11-12 13:05:50 +08:00
    不换
    DiagnosticError
        73
    DiagnosticError  
       2015-11-12 14:22:47 +08:00
    @nyanpath hh 又见脚踏板 喜欢抖腿怎么办
    sunjourney
        74
    sunjourney  
       2015-11-12 14:25:39 +08:00
    @MarioLuisGarcia Karabiner 做的很好,并不会有这种感觉
    nekoyaki
        75
    nekoyaki  
       2015-11-12 14:54:43 +08:00
    不换。 thinkpad 键盘 esc 键离得近,而且很大,非常方便。
    甚至有时候 hjkl 不方便的时候,想要用方向键 or 小红点的时候也会感到非常方便。
    UnitTest
        76
    UnitTest  
       2015-11-12 15:00:54 +08:00
    @xhat 李菊福.回去试试看.
    我是 emacs 党...
    quix
        77
    quix  
       2015-11-12 16:18:46 +08:00
    @coolicer
    按 i
    输入一些文字
    "嗷!"一声
    b 跳回修改

    想想就带感啊
    zhantss
        78
    zhantss  
       2015-11-12 16:20:32 +08:00
    HHKB 表示没啥压力= =
    ffffwh
        79
    ffffwh  
       2015-11-12 16:20:56 +08:00 via Android
    Ctrl-g
    nickleefly
        80
    nickleefly  
       2015-11-12 16:49:23 +08:00
    let mapleader=","
    <Leader>m
    MarioLuisGarcia
        81
    MarioLuisGarcia  
       2015-11-12 16:56:45 +08:00
    @sunjourney 我用的就是它,从逻辑上而言,这个延迟是不可避免的,延迟大概在 100 200ms 之间。难不成你有什么 magic setting?
    shearer
        82
    shearer  
       2015-11-12 23:20:53 +08:00
    我直接把右边的 Alt 给用 mapkeyborad 给弄成 esc ,距离又近,而且那个 Alt 很少用到一般。
    KentY
        83
    KentY  
       2015-11-13 19:27:34 +08:00
    直到 2 年以前一直都是大写键做 esc.
    2 年前换了个键盘, 大写键位置被 control 占据了, 就一直用原本 ESC 了
    spaceyuan
        84
    spaceyuan  
       2015-12-15 23:03:37 +08:00
    jj
    mozlingyu
        85
    mozlingyu  
       2019-09-19 10:42:13 +08:00
    jk 和 kj
    看来用的不是双拼,这两个中文分别是 jing 和 kan,小鹤双拼方案。
    aSaltedFish
        86
    aSaltedFish  
       2022-10-08 15:59:41 +08:00
    right `Shift` ==> `Escape`
    关于     帮助文档     自助推广系统     博客     API     FAQ     Solana     2679 人在线   最高记录 6679       Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 31ms UTC 14:11 PVG 22:11 LAX 07:11 JFK 10:11
    Do have faith in what you're doing.
    ubao msn 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