私は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の場合にのみこの関数を呼び出す方法を考えています。