"===================================括号自动关闭========================

function! My_BracketComplete()

let char = strpart(getline('.'), col('.')-1, 1)

if (char == ")")

return "/"

else

return ")"

endif

endfunction

autocmd Filetype java,javascript,html imap ( ()

autocmd FileType java,javascript,html inoremap ) =My_BracketComplete()

function! My_MidComplete()

let char = strpart(getline('.'), col('.')-1, 1)

if (char == "]")

return "/"

else

return "]"

endif

endfunction

autocmd Filetype java,javascript,html imap  [ []

autocmd FileType java,javascript,html inoremap ] =My_MidComplete()

autocmd Filetype java,javascript,html,css imap { {xApa}

function! My_BraceComplete()

let char = strpart(getline('.'), col('.')-1, 1)

if (char == "}")

return "/"

else

return "}"

endif

endfunction

function! My_appendSemicolon() "在句末添加分号后 ,光标仍回原位置 imap  ; =My_appendSemicolon()

let nowPos=col('.') "光标下标

let endPos=col('$') "行尾下标

let len=endPos-nowPos

let line=getline('.')

if matchend(line,";//s/*$")==strlen(line) " 如果 此行以分号结尾(包括分号后面有空格的情况) 则不将分号加到末尾,而是光标处

return ";"

else

return repeat("/",len).";".repeat("/",len+1) "在行尾添加分号并回到原位置

endif

endfunction

"============================end of 括号自动关闭========================

"与omni结合使用的时候 当提示方法名的时个一般是这种情形 System.out.print(

"而不是System.out.println() 注意最后的括号,此函数要做的就是当使用提示的时候

"补上右括号

function! My_BracketComplete4omni()

let line=getline('.')  "|  example: line=  System.ouout

let  dotPos=strridx(line,".") "lengthOf('  System.')-1 最后一个点.所在的位置

let cursePos=strlen(line)    "lengthOf('  System.ouout') 光标的位置

let len=cursePos-dotPos   "lengthof(ouout)+1 光标到最后一个点之间 的长度

let lastCharIndex=strridx(line,'(') "得到最后一个左括号的下标,判断是否需要补上一个右括号

let bedot=strpart(line,0,dotPos) "  System  最后一个点之前的部分

let afdot=strpart(line,dotPos+1,len) "ouout 最后一个点之后 的部分

let b=match(afdot,'/(/w/+/)/1')   " the begin index of   ouou

let e=matchend(afdot,'/(/w/+/)/1') " the end index of ouou

let ok=strpart(afdot,(e-b)/2)       " out    ,all the char after the first 'u' of ouout

"debug

"return repeat("/",len-1).ok."/nline:".line."/ndotPos:".dotPos."/ncursePos:".cursePos."/nlen:".len."/nlastCharIndex:".lastCharIndex."/nbedot:".bedot."/nafdot:".afdot."/nb:".b."/ne:".e."/nok:".ok."/nrep:".rep

let rep=repeat("/",strlen(ok)-1) "向前移动strlen(ok) 个长度的位置,以便删除ouout 最前面出现的重复的ou

let lenOfOk=strlen(ok)

let lenOfBetweenDotAndOk=len-lenOfOk

let rep=rep.repeat("/", lenOfBetweenDotAndOk-1) "删除ouout 最前面出现的重复的ou

let rep=rep.repeat("/",lenOfOk) "光标向后移动到最初的位置

if  lastCharIndex == -1

if dotPos== -1

return " "

else

return rep

endif

else

return rep.")/"

endif

endfunction

let g:closetag_html_style=1

autocmd FileType xml,html imap  > >

autocmd FileType python set omnifunc=pythoncomplete#Complete

autocmd FileType javascript set omnifunc=javascriptcomplete#CompleteJS

autocmd FileType html set omnifunc=htmlcomplete#CompleteTags

autocmd FileType css set omnifunc=csscomplete#CompleteCSS

autocmd FileType xml set omnifunc=xmlcomplete#CompleteTags

autocmd FileType php set omnifunc=phpcomplete#CompletePHP

autocmd FileType c set omnifunc=ccomplete#Complete

autocmd Filetype java set omnifunc=javacomplete#Complete

autocmd Filetype java set completefunc=javacomplete#CompleteParamsInf

autocmd FileType java,javascript,html,css imap  ; =My_appendSemicolon()

autocmd FileType java,javascript,html,css map  ; i;

autocmd FileType java,javascript,html imap  "  "kAxappJhi

autocmd FileType java,javascript,html,vim imap  '  'kAxappJi

autocmd Filetype java,javascript inoremap   .  .

autocmd Filetype css inoremap   :  :

autocmd Filetype css,javascript,java inoremap     

autocmd Filetype javascript,css inoremap      =My_BracketComplete4omni()

autocmd Filetype java,javascript,css,html, inoremap      =My_BracketComplete4omni()

autocmd Filetype java,javascript,css,html inoremap      =My_BracketComplete4omni()

autocmd Filetype java,javascript,css,html inoremap      =My_BracketComplete4omni()

autocmd Filetype java,javascript,css,html,xml inoremap   a  a

autocmd Filetype java,javascript,css,html,xml inoremap   b  b

autocmd Filetype java,javascript,css,html,xml inoremap   c  c

autocmd Filetype java,javascript,css,html,xml inoremap   d  d

autocmd Filetype java,javascript,css,html,xml inoremap   e  e

autocmd Filetype java,javascript,css,html,xml inoremap   f  f

autocmd Filetype java,javascript,css,html,xml inoremap   g  g

autocmd Filetype java,javascript,css,html,xml inoremap   h  h

autocmd Filetype java,javascript,css,html,xml inoremap   i  i

autocmd Filetype java,javascript,css,html,xml inoremap   j  j

autocmd Filetype java,javascript,css,html,xml inoremap   k  k

autocmd Filetype java,javascript,css,html,xml inoremap   l  l

autocmd Filetype java,javascript,css,html,xml inoremap   m  m

autocmd Filetype java,javascript,css,html,xml inoremap   n  n

autocmd Filetype java,javascript,css,html,xml inoremap   o  o

autocmd Filetype java,javascript,css,html,xml inoremap   p  p

autocmd Filetype java,javascript,css,html,xml inoremap   q  q

autocmd Filetype java,javascript,css,html,xml inoremap   r  r

autocmd Filetype java,javascript,css,html,xml inoremap   s  s

autocmd Filetype java,javascript,css,html,xml inoremap   t  t

autocmd Filetype java,javascript,css,html,xml inoremap   u  u

autocmd Filetype java,javascript,css,html,xml inoremap   v  v

autocmd Filetype java,javascript,css,html,xml inoremap   w  w

autocmd Filetype java,javascript,css,html,xml inoremap   x  x

autocmd Filetype java,javascript,css,html,xml inoremap   y  y

autocmd Filetype java,javascript,css,html,xml inoremap   z  z

autocmd Filetype java,javascript,css,html,xml inoremap   A  A

autocmd Filetype java,javascript,css,html,xml inoremap   B  B

autocmd Filetype java,javascript,css,html,xml inoremap   C  C

autocmd Filetype java,javascript,css,html,xml inoremap   D  D

autocmd Filetype java,javascript,css,html,xml inoremap   E  E

autocmd Filetype java,javascript,css,html,xml inoremap   F  F

autocmd Filetype java,javascript,css,html,xml inoremap   G  G

autocmd Filetype java,javascript,css,html,xml inoremap   H  H

autocmd Filetype java,javascript,css,html,xml inoremap   I  I

autocmd Filetype java,javascript,css,html,xml inoremap   J  J

autocmd Filetype java,javascript,css,html,xml inoremap   K  K

autocmd Filetype java,javascript,css,html,xml inoremap   L  L

autocmd Filetype java,javascript,css,html,xml inoremap   M  M

autocmd Filetype java,javascript,css,html,xml inoremap   N  N

autocmd Filetype java,javascript,css,html,xml inoremap   O  O

autocmd Filetype java,javascript,css,html,xml inoremap   P  P

autocmd Filetype java,javascript,css,html,xml inoremap   Q  Q

autocmd Filetype java,javascript,css,html,xml inoremap   R  R

autocmd Filetype java,javascript,css,html,xml inoremap   S  S

autocmd Filetype java,javascript,css,html,xml inoremap   T  T

autocmd Filetype java,javascript,css,html,xml inoremap   U  U

autocmd Filetype java,javascript,css,html,xml inoremap   V  V

autocmd Filetype java,javascript,css,html,xml inoremap   W  W

autocmd Filetype java,javascript,css,html,xml inoremap   X  X

autocmd Filetype java,javascript,css,html,xml inoremap   Y  Y

autocmd Filetype java,javascript,css,html,xml inoremap   Z  Z

Logo

Agent 垂直技术社区,欢迎活跃、内容共建。

更多推荐