V2EX = way to explore
V2EX 是一个关于分享和探索的地方
Sign Up Now
For Existing Member  Sign In
neone
V2EX  ›  Vim

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

  •  
  •   neone · Nov 11, 2015 · 20369 views
    This topic created in 3824 days ago, the information mentioned may be changed or developed.

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

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

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

    " Mappings
    imap <Esc> <Nop>
    vmap <Esc> <Nop>
    inoremap <C-c> <Esc>
    nmap <C-c> <Nop>
    zhicheng
        13
    zhicheng  
       Nov 11, 2015
    Control + [ 从来都是用这个的,不知道为什么你们喜欢用 ESC 。
    jones
        14
    jones  
       Nov 11, 2015
    直接 Control+C 就足够了,基本等同于 ESC
    agate
        15
    agate  
       Nov 11, 2015
    @Jimrussell 我也是~~~ 全局替换... 键盘直接映射了
    wbingeek
        16
    wbingeek  
       Nov 11, 2015
    换键盘.......poker2 或 HHKB 这些按 esc 都很方便的
    oska874
        17
    oska874  
       Nov 11, 2015
    用 esc 替换 esc 。
    Owenjia
        18
    Owenjia  
       Nov 11, 2015
    ^[ 或者 ^c 是跟 Esc 一样的。
    hxtheone
        19
    hxtheone  
       Nov 11, 2015
    ctrl + c ,一直都是这个搭配
    loryyang
        20
    loryyang  
       Nov 11, 2015
    保持 esc ,没感觉有什么不习惯的,我的小手指很灵活(*^__^*)
    fish267
        21
    fish267  
       Nov 11, 2015
    control + C 呀
    ivvei
        22
    ivvei  
       Nov 11, 2015
    jk
    peizh2006
        23
    peizh2006  
       Nov 11, 2015
    我想知道,你们是用什么手指按 ctrl 的?
    我自己就是手掌
    xxm459259
        24
    xxm459259  
       Nov 11, 2015
    @peizh2006 Ctrl 在 CapsLock 的位置。
    xhat
        25
    xhat  
       Nov 11, 2015   ❤️ 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  
       Nov 11, 2015
    Poker2 Esc 离无名指很近的,一伸就够到了
    18000rpm
        27
    18000rpm  
       Nov 11, 2015
    换了好多了。。用过的从先到后有下面这些(好烦
    C-[
    C-c
    jk
    J
    C-g
    /
    ;
    wlsnx
        28
    wlsnx  
       Nov 11, 2015
    cap,不过我还是习惯按<C-c>
    FrankFang128
        29
    FrankFang128  
       Nov 11, 2015 via Android
    ESC ,节奏感
    behappy
        30
    behappy  
       Nov 11, 2015
    C-[
    tracyone
        31
    tracyone  
       Nov 11, 2015 via Android
    jj
    liuxiaoxiaochen
        32
    liuxiaoxiaochen  
       Nov 11, 2015
    C-[ 就是 esc 或者是把 capslock 和 esc 替换,这样是最合理的 因为最开始 vi 的作者这样做的时候 键盘的大写键的位置就是 esc 只是最后位置改变了
    griffinqiu
        33
    griffinqiu  
       Nov 11, 2015
    HHKB
    kinghui
        34
    kinghui  
       Nov 11, 2015
    CapsLock 变成 Ctrl , 然后 C-3 , 特顺手
    hujianxin
        35
    hujianxin  
       Nov 11, 2015
    我手长,而且快。
    Sin
        36
    Sin  
       Nov 11, 2015
    脚踏板,淘宝有卖
    Goooogle
        37
    Goooogle  
       Nov 11, 2015 via Android
    caps lock 同时映射到 Ctrl 和 ESC ,这绝对是最方便的方式
    Linux user :
    https://github.com/cmatheson/super-caps

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

    大拇指直接就能按到
    coolicer
        63
    coolicer  
       Nov 12, 2015
    何不改成声控
    TonyHoAspire
        64
    TonyHoAspire  
       Nov 12, 2015
    @fish267
    @Reficul
    @hxtheone
    @wlsnx
    @jones

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

    想想就带感啊
    zhantss
        78
    zhantss  
       Nov 12, 2015
    HHKB 表示没啥压力= =
    ffffwh
        79
    ffffwh  
       Nov 12, 2015 via Android
    Ctrl-g
    nickleefly
        80
    nickleefly  
       Nov 12, 2015
    let mapleader=","
    <Leader>m
    MarioLuisGarcia
        81
    MarioLuisGarcia  
       Nov 12, 2015
    @sunjourney 我用的就是它,从逻辑上而言,这个延迟是不可避免的,延迟大概在 100 — 200ms 之间。难不成你有什么 magic setting?
    shearer
        82
    shearer  
       Nov 12, 2015
    我直接把右边的 Alt 给用 mapkeyborad 给弄成 esc ,距离又近,而且那个 Alt 很少用到一般。
    KentY
        83
    KentY  
       Nov 13, 2015
    直到 2 年以前一直都是大写键做 esc.
    2 年前换了个键盘, 大写键位置被 control 占据了, 就一直用原本 ESC 了
    spaceyuan
        84
    spaceyuan  
       Dec 15, 2015
    jj
    mozlingyu
        85
    mozlingyu  
       Sep 19, 2019
    jk 和 kj
    看来用的不是双拼,这两个中文分别是 jing 和 kan,小鹤双拼方案。
    aSaltedFish
        86
    aSaltedFish  
       Oct 8, 2022
    right `Shift` ==> `Escape`
    About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Solana   ·   938 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 242ms · UTC 23:11 · PVG 07:11 · LAX 16:11 · JFK 19:11
    ♥ Do have faith in what you're doing.