
Ich verwende Emacs 24.
Wie kann ich alle Vorkommen des nicht druckbaren Unicode-Bidi-Zeichens RTL ersetzen, dessen Hexadezimalzahl lautet 202e
? Ich möchte es durch das nicht druckbare Unicode-Bidi-Zeichen LTR ersetzen, dessen Hexadezimalzahl lautet 202d
?
Könnte mir jemand einen Rat geben?
Antwort1
Dies erfordert, enable-recursive-minibuffers
dass der Wert auf ungleich Null gesetzt ist:
M-xErsetzen von regulärem AusdruckRET C-x 8 RET 202e RET RET C-x 8 RET 202d RET RET
Antwort2
Fügen Sie am Anfang des Puffers den folgenden Emacs Lisp-Code hinzu:
(while (re-search-forward "\u202e" nil t)
(replace-match "\u202d"))Platzieren Sie den Cursor direkt hinter der letzten Klammer und geben Sie ein, C-xC-eum den Code auszuführen.
Antwort3
M-x replace-regexp RET \u202e RET \u202d
Antwort4
Geben Sie Folgendes ein:
M-% C-q 20056 RET RET C-q 20055 RET RET
C-qgefolgt von einer Oktalzahl und RETfügt das durch die Oktalzahl dargestellte Zeichen ein und verwirft das RET. Um Hex schnell in Oktal umzuwandeln, geben Sie #x202e
eine M-:Eingabeaufforderung ein, die die resultierende Zahl in Dezimal-, Oktal- und Hex-Format ausgibt.
Um die Eingabe von Dezimalzahlen zu vereinfachen, ähnlich der GTK- C-S-uBindung, verwende ich Folgendes in meinem .emacs
:
(global-set-key [(control shift u)]
(lambda ()
(interactive)
(let ((read-quoted-char-radix 16))
(call-interactively 'quoted-insert))))