cleanadd.vim (934B)
1 " Vim script to clean the ll.xxxxx.add files of commented out entries 2 " Author: Antonio Colombo, Bram Moolenaar 3 " Last Update: 2008 Jun 3 4 5 " Time in seconds after last time an ll.xxxxx.add file was updated 6 " Default is one second. 7 " If you invoke this script often set it to something bigger, e.g. 60 * 60 8 " (one hour) 9 if !exists("g:spell_clean_limit") 10 let g:spell_clean_limit = 1 11 endif 12 13 " Loop over all the runtime/spell/*.add files. 14 " Delete all comment lines, except the ones starting with ##. 15 for s:fname in split(globpath(&rtp, "spell/*.add"), "\n") 16 if filewritable(s:fname) && localtime() - getftime(s:fname) > g:spell_clean_limit 17 if exists('*fnameescape') 18 let s:f = fnameescape(s:fname) 19 else 20 let s:f = escape(s:fname, ' \|<') 21 endif 22 silent exe "tab split " . s:f 23 echo "Processing" s:f 24 silent! g/^#[^#]/d 25 silent update 26 close 27 unlet s:f 28 endif 29 endfor 30 unlet s:fname 31 32 echo "Done"