summaryrefslogtreecommitdiff
path: root/spell/fixdup.vim
diff options
context:
space:
mode:
Diffstat (limited to 'spell/fixdup.vim')
-rw-r--r--spell/fixdup.vim27
1 files changed, 27 insertions, 0 deletions
diff --git a/spell/fixdup.vim b/spell/fixdup.vim
new file mode 100644
index 0000000..0dd532d
--- /dev/null
+++ b/spell/fixdup.vim
@@ -0,0 +1,27 @@
+" Vim script to fix duplicate words in a .dic file vim: set ft=vim:
+"
+" Usage: Edit the .dic file and source this script.
+
+let deleted = 0
+
+" Start below the word count.
+let lnum = 2
+while lnum <= line('$')
+ let word = getline(lnum)
+ if word !~ '/'
+ if search('^' . word . '/', 'w') != 0
+ let deleted += 1
+ exe lnum . "d"
+ continue " don't increment lnum, it's already at the next word
+ endif
+ endif
+ let lnum += 1
+endwhile
+
+if deleted == 0
+ echomsg "No duplicate words found"
+elseif deleted == 1
+ echomsg "Deleted 1 duplicate word"
+else
+ echomsg printf("Deleted %d duplicate words", deleted)
+endif