Emacs 정규 표현식의 유니코드

Emacs 정규 표현식의 유니코드

저는 이맥스 24를 사용하고 있습니다.

인쇄할 수 없는 유니코드 bidi 문자 RTL(16진수 숫자는 )의 모든 항목을 어떻게 바꿀 수 있습니까 202e? 이를 인쇄할 수 없는 유니코드 bidi 문자 LTR로 바꾸고 싶습니다. 해당 문자의 16진수는 202d?

누군가 나에게 지침을 줄 수 있습니까?

답변1

이 요구 사항은 enable-recursive-minibuffersnon-nil로 설정됩니다.

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-q그 뒤에 8진수가 RET오고 8진수가 나타내는 문자를 삽입하고 RET. 16진수를 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))))

관련 정보