" Make a bare URL into a link to itself function! html#UrlLink() abort " Yank this whole whitespace-separated word normal! yiW " Open a link tag normal! i " Paste the URL into the quotes normal! hP " Move to the end of the link text URL normal! E " Close the link tag normal! a endfunction " Tidy the whole buffer function! html#TidyBuffer() abort let view = winsaveview() %!tidy -quiet call winrestview(view) endfunction " Update a timestamp function! html#TimestampUpdate() abort if !&modified return endif let cv = winsaveview() call cursor(1,1) let li = search('\C^\s*Last updated: .\+$', 'n') if li let date = substitute(system('date -u'), '\C\n$', '', '') let line = getline(li) call setline(li, substitute(line, '\C\S.*', \ 'Last updated: '.date.'', '')) endif call winrestview(cv) endfunction