用惯了dreamweaver,话说它的标签自动闭合功能还是很不错的。转而学习gVim之后,为它的强大功能与灵活的订制性所震撼。自然也想到了将dw的标签闭合功能引用过来.
网上资料并不多,在iteye上搜到了一篇文章(kenshin54.iteye.com/blog/858156)。下载来之后,果然好用。
然而很快发现了一点不方便之处,因我之前已引用了几个括号闭合的功能,使用这个标签闭合插件后,并没有出来效果。原因是后面多了个自动闭合的括号,那标签里的匹配便不灵了。
于是研究了下代码,虽然很少的代码,但对于我这个还不熟悉vim语法和函数的人,却需要花些功夫去理解。于是照原作者的代码,自己改动了下,既能兼容括号闭合,也不会因标签所在行后面有内容而略过自动闭合.
"to store cursor Position
let s:cursorPos = 0
"support "
return "/".tag
else
return "/".tag.">"
endif
endif
else
return "/"
endif
endfunction
"set cursor to #cursor#
function! SetCursors()
if s:cursorPos != 0
let lineNum = line(".")
call cursor(lineNum, s:cursorPos)
let s:cursorPos = 0
endif
return ""
endfunction
"set up key '/' to trigger closeTag and setCursor function
:inoremap / =EasyCloseTags()=SetCursors()
有需要的朋友可以拿去了,不过,不敢保证没有问题,vim学习中...