W języku arabskim, podobnie jak w niektórych innych językach, istnieje tak zwane znaki diakrytyczne w celu poprawy wymowy. Nie ma konwencji dotyczącej liczby znaków diakrytycznych dla jednego słowa. Niektórzy używają minimum (które preferuję) na tyle, aby jednoznacznie wymawiać, podczas gdy inni używają ich zbytecznie lub po prostu dla celów estetycznych kaligrafii. Tak więc istnieje duża różnorodność tego, co i ile znaków diakrytycznych jest powiązanych z jednym słowem. Kiedy robię to isearch-forward/backward
przez naciśnięcie C-s/r
, problem pojawia się, gdy wpisuję go w minibuforze wyszukiwania bez znaków diakrytycznych, nie będzie pasował do tego samego słowa w tekście, jeśli miał znaki diakrytyczne, co sprawi, że zadanie szukania tego słowa z jego potencjalnymi znakami diakrytycznymi będzie zawsze niezadowalające.
Czy istnieje sposób, aby wyszukiwanie / wyrażenia regularne nie były świadome znaków diakrytycznych? Mam nadzieję, że znajdzie się odpowiedź, która może zostać rozszerzona o wyszukiwanie regexp C-M-s/r
i grep
wyszukiwanie, którego dość często używam w pocisku steru, aby szukać słowa w wieloplikowych projektach lateksowych.
Aktualizacja
Byłoby miło zobaczyć, że Emacs we wszystkich swoich funkcjach wyszukiwania wykonuje krok usuwania tekstu (od akcentów / znaków diakrytycznych / jak go nazywacie) przed dopasowaniem kroku jako domyślnego zachowania, które może zostać wyłączone przez prefiks na żądanie bez względu na to, jaki język jest pod ręką. Zazwyczaj, gdy szukam czegoś, nie oczekuję, że najlepszy redaktor (Emacs) zawiedzie w tym zadaniu tylko z powodu niektórych znaków diakrytycznych lub akcentów, które rzadko, jeśli w ogóle, są potrzebne do wykonywania zwykłych obowiązków tekstowych.
php
zaimplementowane: stackoverflow.com/a/25563250/1288722 - również zaimplementowane w Javascript
: stackoverflow.com/a/7193622/1288722
helm-swoop
?
ucs-normalize-*
funkcje wlisp/international/ucs-normalize.el
. Dla tych nie ma wstępnie zdefiniowanego składania wyszukiwania, tak jak w przypadku składania liter, ale można przynajmniej znormalizować region przed jego przeszukaniem. Dobre wdrożenie jest prawdopodobnie dość złożonym zadaniem.