I have a file, and some lines contain unicode characters with diacritical marks in them.
I would like to delete all lines in the file that contain any unicode diacritical accent character (unicode 0x0300 – unicode 0x0362).
I can blow away pretty much any other unicode in the file as range matches like the following function fine:
:g/[{ctrl-v}u0129-{ctrl-v}u0229]/d
But for some reason when the range is in the diacritical range, the diacriticals apply to the range brackets, so I end up with square brackets with accents that dont match anything.
I can however match them one at a time like :g/{ctrl-v}u0301/d, but I’d rather not go through 100 or so iterations to make sure I get them all.
Additionally inverse searches are failing me too. :g/[^ -~]/d will delete every line that contains a character other than those in the range of {space} to tilde, except lines with diacriticals.
Thanks
I think that there is some bug in vim: collections does not match diacritics. You can use alternatives as a workaround:
or
should do what you want.