Bram Moolenaar | 5c73622 | 2010-01-06 20:54:52 +0100 | [diff] [blame] | 1 | " Vim script to fix duplicate words in a .dic file vim: set ft=vim: |
| 2 | " |
| 3 | " Usage: Edit the .dic file and source this script. |
| 4 | |
| 5 | let deleted = 0 |
| 6 | |
| 7 | " Start below the word count. |
| 8 | let lnum = 2 |
| 9 | while lnum <= line('$') |
| 10 | let word = getline(lnum) |
| 11 | if word !~ '/' |
| 12 | if search('^' . word . '/', 'w') != 0 |
| 13 | let deleted += 1 |
| 14 | exe lnum . "d" |
| 15 | continue " don't increment lnum, it's already at the next word |
| 16 | endif |
| 17 | endif |
| 18 | let lnum += 1 |
| 19 | endwhile |
| 20 | |
| 21 | if deleted == 0 |
| 22 | echomsg "No duplicate words found" |
| 23 | elseif deleted == 1 |
| 24 | echomsg "Deleted 1 duplicate word" |
| 25 | else |
| 26 | echomsg printf("Deleted %d duplicate words", deleted) |
| 27 | endif |