在编辑器里面你怎么样从当前的括号跳到括号后边 - V2EX
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
请不要在回答技问题时复制粘贴 AI 生成的内容
aisensiy
V2EX    程序员

在编辑器里面你怎么样从当前的括号跳到括号后边

  •  
  •   aisensiy
    aisensiy 2013 年 3 月 28 日 17046 次点击
    这是一个创建于 4697 天前的主题,其中的信息可能已经有所发展或是发生改变。
    举个例子 * 表示当前的光标位置

    var abc = function(arg1*)

    想到这个状态

    var abc = function(arg1)*

    你要怎么做?用 键盘右下角的 -> ? 有什么非常好的办法么

    求各大编辑器的实现,vim webstorm eclipse sublime text ...
    第 1 条附言    2013 年 3 月 28 日
    我说下我目前 vim 的情况。我把 insert mode 的 jj 绑定了 ESC 那么 jj 后就进入 normal mode 然后 l 即可,但是感觉还是有点多的样子,最好是离手比较近的键一键搞定,估计要绑定个别的什么按键了。
    43 条回复    1970-01-01 08:00:00 +08:00
    ThunderEX
        1
    ThunderEX  
       2013 年 3 月 28 日   1
    输入右括号啊
    End键也行啊
    linuxer
        2
    linuxer  
       2013 年 3 月 28 日
    sublime text下我一般都是按 Shift+0 就能跳出。方向键太远了,够不着。
    royalar
        3
    royalar  
       2013 年 3 月 28 日
    vim 用 % 啊,可以装上matchit插件
    aisensiy
        4
    aisensiy  
    OP
       2013 年 3 月 28 日
    就你理解我的意思了 你楼上和楼下都木有
    twm
        5
    twm  
       2013 年 3 月 28 日
    记得eclipse java是tab直接跳.
    aisensiy
        6
    aisensiy  
    OP
       2013 年 3 月 28 日
    @linuxer 我就是说这个问题 就是 方向键太远了,有没有可替代方案
    aisensiy
        7
    aisensiy  
    OP
       2013 年 3 月 28 日
    @twm 不是吧 我记得我尝试过的 不行的
    xdata
        8
    xdata  
       2013 年 3 月 28 日
    我是用AutoHotkey针对常用编辑器绑了自定义快捷键
    alt+; 为End键+分号. 根据标题栏区分是否正在编辑某些行尾加分号的语言.其他则仅为End键.
    CapsLock+; 为End键

    还有其他CapsLock上的一大堆自定义热键.
    例如最常用的全局的CapsLock+hjkl, 好久没使用过独立方向键了.
    激活CapsLock改为Shift+CapsLock, 再按一次就取消.

    作为Windows下几大神器之一,再加上Dropbox,实在是绝配.
    aisensiy
        9
    aisensiy  
    OP
       2013 年 3 月 28 日
    @ThunderEX 哦 不好意思 你说的对,很多编辑器确实是可以用右括号搞定这个事情的。
    5night
        10
    5night  
       2013 年 3 月 28 日   1
    我觉得最舒适的应该是回车。Eclipse自带, Sublime Text见以下链接21楼:
    http://ruby-china.org/topics/4824
    binux
        11
    binux  
       2013 年 3 月 28 日
    把方向键改成hjkl
    aisensiy
        12
    aisensiy  
    OP
       2013 年 3 月 28 日
    @xdata 在 capslock 键做文章啊,我还真没尝试过呢
    polythene
        13
    polythene  
       2013 年 3 月 28 日
    @xdata +1
    同ahk
    qgewfg
        14
    qgewfg  
       2013 年 3 月 28 日
    vim 简单,xp
    qgewfg
        15
    qgewfg  
       2013 年 3 月 28 日
    哦我理解错了
    qgewfg
        16
    qgewfg  
       2013 年 3 月 28 日
    其实我觉得吧,Esc + l足够方便了,要经常练习一下小指的功夫
    NemoAlex
        17
    NemoAlex  
       2013 年 3 月 28 日
    Sublime Text 以及系统其它地方
    Ctrl + F
    liwei
        18
    liwei  
       2013 年 3 月 28 日
    目前是emacs胜出?
    peizh2006
        19
    peizh2006  
       2013 年 3 月 28 日
    输入右括号 +1
    aisensiy
        20
    aisensiy  
    OP
       2013 年 3 月 28 日
    @liwei 没人提及啊
    fanzheng
        21
    fanzheng  
       2013 年 3 月 28 日
    *表示的是光标的位置么?sublime text里面,当你输到function的时候,snippet会有提示,按tab键就会补全到
    var abc = function function_name (argument) {
    // body...
    }
    然后输入function_name,tab键,输入argument,tab键,输入//body.... tab键不能跳出}
    aisensiy
        22
    aisensiy  
    OP
       2013 年 3 月 28 日
    @fanzheng 哦 我用 sublime 的时候似乎忽略了这些
    Numbcoder
        23
    Numbcoder  
       2013 年 3 月 28 日
    vim 简单
    shiift + a,这样顺便还能在后面打个 ;号
    mml
        24
    mml  
       2013 年 3 月 28 日
    vim, INSERT模式中,我一般是ctrl+o,然后a ,
    其实也可以用ctrl+[ 回到normal模式,然后xxx
    kran
        25
    kran  
       2013 年 3 月 28 日 via iPhone
    为何不在vim的插入模式多绑几个emacs的快捷键呢
    aisensiy
        26
    aisensiy  
    OP
       2013 年 3 月 28 日
    @mml ctrl + [ 依然不够方便啊,还是有点远 如果把 caps lock 绑上 ctrl 估计好些吧
    aisensiy
        27
    aisensiy  
    OP
       2013 年 3 月 28 日
    @kran 说的好
    mml
        28
    mml  
       2013 年 3 月 28 日
    @aisensiy 我本来是把 mbp 的 caps 和esc 换了,不过后来想想还是和ctrl换了,因为还是ctrl用的比较多,
    觉得 ctrl+o 比较适合这个场景
    :help ins-special-special 里面的说明是: CTRL-O execute one command, return to Insert mode
    eth2net
        29
    eth2net  
       2013 年 3 月 29 日 via iPhone
    vim中insert mode配置emacs键位,c-e跳出
    cassyfar
        30
    cassyfar  
       2013 年 3 月 29 日
    方向键不是最快的方式吗? 只需要按一次键,而且和(),[],""这些符号距离很近
    min
        31
    min  
       2013 年 3 月 29 日
    C-f?
    aisensiy
        32
    aisensiy  
    OP
       2013 年 3 月 29 日
    @mml 嗯 是的 然后问一句你改 caps 是系同级别还是 vim 级别的改?如果是 vim 里面怎么改?
    aisensiy
        33
    aisensiy  
    OP
       2013 年 3 月 29 日
    @eth2net vim 粉们会拒绝这么做吧 o_o
    fwee
        34
    fwee  
       2013 年 3 月 29 日
    vim的百分号不就是为了干这个的吗..
    dingstyle
        35
    dingstyle  
       2013 年 3 月 29 日
    楼上有几位理解错了吧,楼主应该是说vim下不离开insert模式要怎么跳出括号。其实如果括号后面就是行尾,按Ctrl-e就可以了。另外,内置自动补全括号的编辑器,直接键入')'光标不就跳到括号外面去了么?
    aisensiy
        36
    aisensiy  
    OP
       2013 年 3 月 29 日
    @dingstyle 是的 上面也有人提及这个了呢~
    mml
        37
    mml  
       2013 年 3 月 29 日
    @aisensiy 我是系统级的,因为 osx 和linux下都很多快捷键是ctrl,就直接改系统好了,vim里面木改过。
    aisensiy
        38
    aisensiy  
    OP
       2013 年 3 月 29 日
    @mml 哦 好吧
    hexor
        39
    hexor  
       2013 年 3 月 29 日
    我来搬个砖好了 非原创 貌似上面有位提到了链接里的东西

    Sublime Text 2 中的方式 key-bindings User中 加入

    { "keys": ["enter"], "command": "move", "args": {"by": "characters", "forward": true}, "context":
    [
    { "key": "following_text", "operator": "regex_contains", "operand": "^[)\\]\\>\\'\\\"\\ %>\\}\\;\\,]", "match_all": true },
    { "key": "preceding_text", "operator": "not_regex_match", "operand": "^.*\\{$", "match_all": true }
    ]
    }


    实现的效果就是 Enter可以跳出括号了

    另外 如果同时出现了自动补全的状况 请用Tab键 选择候选词
    eth2net
        40
    eth2net  
       2013 年 3 月 29 日 via iPhone
    @aisensiy 这键位还是可以引入的
    hbin
        41
    hbin  
       2013 年 3 月 29 日
    做个 map 吧
    ```
    imap <C-b> <ESC>i
    imap <C-f> <ESC>la
    ```
    虽然我也是个 Emacs 用户 ;)
    DaniloSam
        42
    DaniloSam  
       2013 年 3 月 29 日
    emacs

    c-f || c-e
    asxalex
        43
    asxalex  
       2013 年 3 月 30 日
    imap <C-f> <right>
    imap <C-b> <left>
    关于     帮助文档     自助推广系统     博客     API     FAQ     Solana     1956 人在线   最高记录 6679       Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 31ms UTC 15:49 PVG 23:49 LAX 07:49 JFK 10:49
    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