Ékezet gyilkolás vim-mel

Van úgy, hogy az élet azt hozza, hogy ékezetes szövegekből kell legyilkolni az ékezeteket. Erre persze bármi jó lehet, ami egy mezei search/replace művelet elvégzésére hajlandó, de most nézzük meg azt, hogy ezt hogy integrálhatjuk vim-be.
Hozzunk létre egy plugin file-t a ~/.vim/plugin folderben diacritics.vim néven és rámoljuk bele az alábbi cuccot:

" Remove diacritical signs from characters in specified range of lines.
" Examples of characters replaced: á -> a, ç -> c, Á -> A, Ç -> C.
function! s:RemoveDiacritics(line1, line2)
  let diacs = 'áâãàçéêíóôõöőüúű'  " lowercase diacritical signs
  let repls = 'aaaaceeiooooouuu'  " corresponding replacements
  let diacs .= toupper(diacs)
  let repls .= toupper(repls)
  let all = join(getline(a:line1, a:line2), "\n")
  call setline(a:line1, split(tr(all, diacs, repls), "\n"))
endfunction
command! -range=% RemoveDiacritics call s:RemoveDiacritics(, )

Ezek után már csak meg kell nyitnunk az ékezetes szövegfile-unkat vim-ben és kiadni a :RemoveDiacritics parancsot – voila!

One thought on “Ékezet gyilkolás vim-mel

  1. Pingback: Solarized for OS X CLI | eFi.blog

Leave a Reply

Your email address will not be published. Required fields are marked *

This site uses Akismet to reduce spam. Learn how your comment data is processed.