zoukankan      html  css  js  c++  java
  • vim 括号自动补全

    来源:http://www.cnblogs.com/huanlei/archive/2012/04/02/2430153.html

    有时要重新配置vim 的,所以收藏了;

    inoremap ( ()<Esc>i
    inoremap [ []<Esc>i
    inoremap { {<CR>}<Esc>O
    autocmd Syntax html,vim inoremap < <lt>><Esc>i| inoremap > <c-r>=ClosePair('>')<CR>
    inoremap ) <c-r>=ClosePair(')')<CR>
    inoremap ] <c-r>=ClosePair(']')<CR>
    inoremap } <c-r>=CloseBracket()<CR>
    inoremap " <c-r>=QuoteDelim('"')<CR>
    inoremap ' <c-r>=QuoteDelim("'")<CR>
    
    function ClosePair(char)
     if getline('.')[col('.') - 1] == a:char
     return "<Right>"
     else
     return a:char
     endif
    endf
    
    function CloseBracket()
     if match(getline(line('.') + 1), 's*}') < 0
     return "<CR>}"
     else
     return "<Esc>j0f}a"
     endif
    endf
    
    function QuoteDelim(char)
     let line = getline('.')
     let col = col('.')
     if line[col - 2] == "\"
     "Inserting a quoted quotation mark into the string
     return a:char
     elseif line[col - 1] == a:char
     "Escaping out of the string
     return "<Right>"
     else
     "Starting a string
     return a:char.a:char."<Esc>i"
     endif
    endf
    分享请说明出处(第一行)
  • 相关阅读:
    Go语言string,int,int64 ,float转换
    Go 时间相关
    静态顺序表操作
    汇编基础
    C语言字节对齐
    BugkuCTF-游戏过关
    数组越界问题分析
    选择排序(Java)
    杨辉三角(C语言)
    二分查找(Java)
  • 原文地址:https://www.cnblogs.com/ediszhao/p/3582783.html
Copyright © 2011-2022 走看看