Esta versão remove apenas linhas repetidas que são contíguas. Quero dizer, apenas exclui linhas repetidas consecutivas. Usando o mapa fornecido, a função nota bagunçar as linhas em branco. Mas se alterar o REGEX para corresponder ao início da linha, ^
ele também removerá as linhas em branco duplicadas.
" function to delete duplicate lines
function! DelDuplicatedLines()
while getline(".") == getline(line(".") - 1)
exec 'norm! ddk'
endwhile
while getline(".") == getline(line(".") + 1)
exec 'norm! dd'
endwhile
endfunction
nnoremap <Leader>d :g/./call DelDuplicatedLines()<CR>