取出 TOhtml 的 <pre> 部分
預設的 :TOhtml
會生成整個 HTML document,我只要其中的 <pre>...</pre>
部分而已,於是寫了一層 function 處理,原功能則改名 TOhtmlDoc。
最近發現這 function 失效,似乎是 TOhtml 在七月有變更,原輸出 <pre>
會變成 <pre id='vimCodeElement'>
。
修正後 script 如下:
let g:html_no_progress = 0 let g:html_use_css = 1 let g:html_ignore_conceal = 0 let g:html_pre_wrap = 0 let g:html_use_xhtml = 0 function! s:to_html(line1, line2) let save_number = get(g:, 'html_number_lines', -1) let g:html_number_lines = 0 call tohtml#Convert2HTML(a:line1, a:line2) setlocal buftype=nofile bufhidden=hide noswapfile nobuflisted call search("<pre[^<]*>") normal! dit %delete _ let @" = '<pre>' . substitute(@", '\v^\n\s*', '', '') . '</pre>' call setline(1, split(@", '\n')) if save_number > -1 let g:html_number_lines = save_number else unlet g:html_number_lines endif endfunction command! -range=% TOhtml :call <SID>to_html(<line1>, <line2>) command! -range=% TOhtmlDoc :call tohtml#Convert2HTML(<line1>, <line2>)
有 1 個意見
很好用呢,终于不用每次手动复制了。
☂