我正在使用 emacs 24。
我怎样才能替换所有出现的不可打印的 Unicode 双向字符 RTL(其十六进制数为 )202e
?我想用不可打印的 Unicode 双向字符 LTR(其十六进制数为 )替换它202d
?
有人可以给我一些指导吗?
答案1
这要求enable-recursive-minibuffers
设置为非零:
M-x替换正则表达式RET C-x 8 RET 202e RET RET C-x 8 RET 202d RET RET
答案2
在缓冲区的开头添加以下一段 emacs Lisp 代码:
(while (re-search-forward "\u202e" nil t)
(replace-match "\u202d"))将光标放在最后一个括号后面并键入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后跟八进制数,RET将插入八进制数所代表的字符并丢弃RET。要快速将十六进制转换为八进制,请输入#x202e
提示符M-:,它将以十进制、八进制和十六进制打印结果数字。
为了能够更轻松地输入十进制数,就像 GTK 的C-S-u绑定一样,我在我的中使用了这个.emacs
:
(global-set-key [(control shift u)]
(lambda ()
(interactive)
(let ((read-quoted-char-radix 16))
(call-interactively 'quoted-insert))))