• 请不要在回答技术问题时复制粘贴 AI 生成的内容
aisensiy
V2EX  ›  程序员

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

  •  
  •   aisensiy ·
    aisensiy · Mar 28, 2013 · 17904 views
    This topic created in 4968 days ago, the information mentioned may be changed or developed.
    举个例子 * 表示当前的光标位置

    var abc = function(arg1*)

    想到这个状态

    var abc = function(arg1)*

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

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

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

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

    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
    eth2net
    Mar 29, 2013 via iPhone
    40
    @aisensiy 这键位还是可以引入的
    hbin
    hbin
    Mar 29, 2013
    41
    做个 map 吧
    ```
    imap <C-b> <ESC>i
    imap <C-f> <ESC>la
    ```
    虽然我也是个 Emacs 用户 ;)
    DaniloSam
    DaniloSam
    Mar 29, 2013
    42
    emacs

    c-f || c-e
    asxalex
    asxalex
    Mar 30, 2013
    43
    imap <C-f> <right>
    imap <C-b> <left>
    About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Privacy   ·   Solana   ·   4583 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 83ms · UTC 09:42 · PVG 17:42 · LAX 01:42 · JFK 04:42
    ♥ Do have faith in what you're doing.