summaryrefslogtreecommitdiffstats
path: root/runtime/spell/fixdup.vim
diff options
context:
space:
mode:
authorBram Moolenaar <Bram@vim.org>2010-01-06 20:54:52 +0100
committerBram Moolenaar <Bram@vim.org>2010-01-06 20:54:52 +0100
commit5c73622a9066182ee4479fd7b3aa86e1825808c3 (patch)
treec92ed672cbb989fa3585387ebd4598f5bdfcc637 /runtime/spell/fixdup.vim
parent8f3f58f2c361f1b7241128d9821f88d8a30aa066 (diff)
Update runtime files.
Diffstat (limited to 'runtime/spell/fixdup.vim')
-rw-r--r--runtime/spell/fixdup.vim27
1 files changed, 27 insertions, 0 deletions
diff --git a/runtime/spell/fixdup.vim b/runtime/spell/fixdup.vim
new file mode 100644
index 0000000000..0dd532d5e6
--- /dev/null
+++ b/runtime/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