我有一个UTF-8文件包含一些Unicode字符,如LEFT-TO-RIGHT OVERRIDE(U + 202D),我想从文件中删除它.在Emacs中,它们是隐藏的(应该是正确的行为?).如何使这种"异国情调"的unicode字符可见(同时不改变"常规"unicode字符的显示,如德语变音符号)?以后我如何替换它们(replace-string例如.C-X 8 Ret对isearch /不起作用replace-string).
在Vim中,它非常简单:这些字符默认显示为十六进制表示(这是一个错误或缺少的功能吗?),您可以轻松地删除它们:%s/\%u202d//g.这应该可以用Emacs吗?
这个怎么样:
通过键入将要匹配的 U+202d 字符放在终止环的顶部M-:(kill-new "\u202d")。然后,您可以使用C-y(eg. query-replace) 或M-y(eg. isearch-forward)将该字符串拖入各种搜索命令中。
(编辑添加:)
您也可以仅以非交互方式调用命令,这不会出现与交互式调用相同的键盘输入困难。例如,键入M-:然后:
(replace-string "\u202d" "")
Run Code Online (Sandbox Code Playgroud)
这有点类似于您的 Vim 版本。一个区别是它只执行从光标位置到文件底部(或缩小区域)的替换,因此您需要在运行命令以替换所有内容之前转到文件顶部(或缩小区域)火柴。
| 归档时间: |
|
| 查看次数: |
7512 次 |
| 最近记录: |