Tim, thank you for the ideas. I had forgotten about marking and deleting. This is what I have working. Using :%s is more than twice as fast as :g Also no need for the :sort iu at the end.
function! KeepOneDup() let start = reltime() sort i %s/\(^.\+\n\)\1\+/@\1/ " mark and remove all but one dup v/^@/d " delete un-marked %s/^@// " remove mark echo reltimestr(reltime(start)) endfun " :call KeepOneDup()<cr> Bill -- -- You received this message from the "vim_use" maillist. Do not top-post! Type your reply below the text you are replying to. For more information, visit http://www.vim.org/maillist.php --- You received this message because you are subscribed to the Google Groups "vim_use" group. To unsubscribe from this group and stop receiving emails from it, send an email to [email protected]. For more options, visit https://groups.google.com/groups/opt_out.
