我在 vimrc 中有一个函数。该功能是关于完成html中的标签。
42 function! InsertHtmlTag()
43 let pat = '\c<\w\+\s*\(\s\+\w\+\s*=\s*[''#$;,()."a-z0-9]\+\)*\s*>'
44 normal! a>
45 let save_cursor = getpos('.')
46 let result = matchstr(getline(save_cursor[1]), pat)
47 if (search(pat, 'b', save_cursor[1]))
48 normal! lyiwf>
49 normal! a</
50 normal! p
51 normal! a>
52 endif
53 :call cursor(save_cursor[1], save_cursor[2], save_cursor[3])
54 endfunction
55 inoremap > <ESC>:call InsertHtmlTag()<CR>
但我最近发现了一些麻烦。当我写 C++ 代码时,在我写完之后#include <iostream>
,vim 用</iostream>
... 完成它。我想知道只有当文件类型是 .html 时才调用这个函数的方法。