我已经看到了如何在vim中搜索unicode字符的提示:help regexp和\%u,但是我还没弄清楚如何用十六进制定义的unicode字符替换文本.
特殊情况是DefaultKeyBindings.dict需要注释来打印注释中该行中映射的字符.
开始:
blah blah...\U2234  
命令:
:s/\v.*\\U(\d{4})/& \/\*\\\\%u\1 \*\/  
结果:
blah blah...\U2234 /*\%u2234 */  
目标:
blah blah...\U2234 /* ? */
您需要将十六进制Unicode值的字符串表示形式转换为由其表示的实际字符.这是一项任务nr2char(),可以通过以下方式嵌入到替换中:help sub-replace-expression:
:substitute+\v.*\\U(\d{4})\zs+\='/* '.nr2char(str2nr(submatch(1),16)).' */'+
Protip:使用不同的分隔符(我选择+了/),然后你不需要逃避.