Vim 里的特殊字符处理

问题

在处理某个文件时,发现里面有一些类似 <200b> 这样的特殊字符,需要清理掉。

处理办法

经过搜索,在 Vim 里处理这些特殊字符时,可以使用类似这样的规则来匹配: \%u200b

这个规则,可以这样来理解和记忆:

  • \ 是转义字符;
  • %u 是匹配双字节的字符;
  • 200b 是对应的编码,按实际输入即可;

通过查找手册 :h pattern.txt 以及 :h E678 发现,除了 %u,还有 %d%o%x 以及 %U,分别以十进制、八进制、单字节十六进制以及四字节十六进制,来匹配各种字符。

如何输入这样的字符

insert 模式下,按 C-vu,再 200b 即可。

可以查找手册 utf-8-typing

特殊字符

对于经常用到、但又无法直接输入的 non-ascii 字符,Vim 提供了输入上的优化。

比如 C-k 1c 是输入

光标停留在 ,按 ascii 可以查询到 <㈠> 12832, Hex 3220, Oct 31040, Digr 1c

所以按之前的方式 C-v u 3220 也可以同样地输入。

使用过程中,可以直接 :digraphs 来查看所有字符,以及对应的输入键。对应的手册可以从 :h digraph.txt 得到。

Read More: