Vim 里的特殊字符处理
问题
在处理某个文件时,发现里面有一些类似 <200b>
这样的特殊字符,需要清理掉。
处理办法
经过搜索,在 Vim 里处理这些特殊字符时,可以使用类似这样的规则来匹配: \%u200b
。
这个规则,可以这样来理解和记忆:
\
是转义字符;%u
是匹配双字节的字符;200b
是对应的编码,按实际输入即可;
通过查找手册 :h pattern.txt
以及 :h E678
发现,除了 %u
,还有 %d
、%o
、%x
以及 %U
,分别以十进制、八进制、单字节十六进制以及四字节十六进制,来匹配各种字符。
如何输入这样的字符
在 insert
模式下,按 C-v
、u
,再 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
得到。