Emacs 正規表現における Unicode

Emacs 正規表現における Unicode

私はemacs 24を使用しています。

16 進数で である、印刷不可能な Unicode の bidi 文字 RTL をすべて置き換えるにはどうしたらよいでしょうか202e。これを、16 進数で である、印刷不可能な Unicode の bidi 文字 LTR に置き換えたいのですが202d

誰か私に指導をしてくれませんか?

答え1

これにはenable-recursive-minibuffersnil 以外に設定する必要があります:

M-x正規表現の置換RET C-x 8 RET 202e RET RET C-x 8 RET 202d RET RET

答え2

  1. バッファの先頭に次の emacs Lisp コードを追加します。

    (while (re-search-forward "\u202e" nil t)
            (replace-match     "\u202d"))

  2. 最後の括弧の直後にカーソルを置き、入力してC-xC-eコードを実行します。

答え3

M-x replace-regexp RET \u202e RET \u202d

答え4

次のように入力します。

M-% C-q 20056 RET RET C-q 20055 RET RET

C-q8 進数が続くと、RET8 進数で表される文字が挿入され、 は破棄されます。16RET進数を 8 進数にすばやく変換するには、プロンプト#x202eに入力しますM-:。これにより、結果の数値が 10 進数、8 進数、16 進数で出力されます。

GTK のバインディングのように小数点以下の数値を簡単に入力できるようにするにはC-S-u、次のようにします.emacs

(global-set-key [(control shift u)]
                (lambda ()
                  (interactive)
                  (let ((read-quoted-char-radix 16))
                    (call-interactively 'quoted-insert))))

関連情報