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

Vim 如何做到「括号等符号的补全」?(如同 IDE 那般智能)

  •  
  •   wentian · Feb 22, 2016 · 4183 views
    This topic created in 3727 days ago, the information mentioned may be changed or developed.
    有如下需求(基本就是 IDE 中那些功能)
    1 自动出右半边
    2 删除时,自动删除配套的右半边
    3 能够跳出
    4 智能识别(如果右边已经有一个了,那么不自动补全)

    我自己实现了一个(但是很不够用)
    inoremap ( ()<left>
    inoremap [ []<left>
    inoremap " ""<left>
    inoremap ' ''<left>
    inoremap { {}<left>

    搜索了一圈,也没有理想结果(可能是关键词组织不对)
    8 replies    2016-02-23 18:36:14 +08:00
    Frapples
        1
    Frapples  
       Feb 22, 2016   ❤️ 1
    推荐 delimitMate 插件:
    https://github.com/Raimondi/delimitMate

    注:记得打开以下选项。在输入{之后,会补全}。之后你如果再按回车的话,该选项能自动添加一行并自动缩进。你试试就知道了。
    let g:delimitMate_expand_cr = 1
    Neveroldmilk
        2
    Neveroldmilk  
       Feb 22, 2016
    装插件啊, VIM 就是靠这个为生的。
    wentian
        3
    wentian  
    OP
       Feb 22, 2016
    @Frapples Thanks. 果然是关键词组织不好,「 auto completion quotes 」,一下找到好多现成的
    ;)
    epkT6QJ3RSaz6AnJ
        4
    epkT6QJ3RSaz6AnJ  
       Feb 23, 2016
    可以试试这个
    The ultimate vim distribution http://vim.spf13.com
    yangyanggnu
        5
    yangyanggnu  
       Feb 23, 2016
    平时,最让我头痛的字符莫过于 {}、""、[] 等这类结对符,输入它们之所以麻烦,主要因为 A )盲打很难找准它们位置, B )还得同时按住 shift 键。两者再一叠加,非常影响我的思维。要高效输入结对符,应该是输入少量几个字母(对,字母,不是字符)后 vim 自动为你输入完整结对符,而非是我输入一半 vim 输入另一半(不用 delimitMate 的原因)。刚好,这在 UltiSnips 能力范围内,只要定义好模板,可完美地解决这类问题

    https://github.com/yangyangwithgnu/use_vim_as_ide#8.1
    knightdf
        6
    knightdf  
       Feb 23, 2016
    成对的符号我都是手打。。。习惯了
    wentian
        7
    wentian  
    OP
       Feb 23, 2016
    @yangyanggnu 昨晚试了 deleteMate,感觉问题解决了
    UltiSips 非常棒,但是要花点时间
    btw, UltiSnips 与 snipMate 有什么不同吗
    suixn
        8
    suixn  
       Feb 23, 2016
    原来自己折腾,后来用了别人的,基本也就不折腾了。
    https://github.com/ma6174/vim
    这个不错。
    About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Solana   ·   5629 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 67ms · UTC 01:35 · PVG 09:35 · LAX 18:35 · JFK 21:35
    ♥ Do have faith in what you're doing.