cleanup.vim (891B)
1 " Vim script to cleanup a .po file: 2 " - Remove line numbers (avoids that diffs are messy). 3 " - Comment-out fuzzy and empty messages. 4 " - Make sure there is a space before the string (required for Solaris). 5 " Requires Vim 6.0 or later (because of multi-line search patterns). 6 7 " Disable diff mode, because it makes this very slow 8 let s:was_diff = &diff 9 setl nodiff 10 11 " untranslated message preceded by c-format or comment 12 silent g/^#, c-format\n#/.d 13 silent g/^#\..*\n#/.d 14 15 " c-format comments have no effect, the check.vim scripts checks it. 16 " But they might still be useful? 17 " silent g/^#, c-format$/d 18 19 silent g/^#[:~] /d 20 silent g/^#, fuzzy\(, .*\)\=\nmsgid ""\@!/.+1,/^$/-1s/^/#\~ / 21 silent g/^msgstr"/s//msgstr "/ 22 silent g/^msgid"/s//msgid "/ 23 silent g/^msgstr ""\(\n"\)\@!/?^msgid?,.s/^/#\~ / 24 25 " clean up empty lines 26 silent g/^\n\n\n/.d 27 silent! %s/\n\+\%$// 28 29 if s:was_diff 30 setl diff 31 endif