当我尝试输入这个Unicode字符时:☑(U + 2611)在vim中使用如下命令:^Vu2611
(这意味着按 ctrl + V 然后在插入模式下输入u2611,Vim以某种方式将其分成两个字符:&
(26)和^Q
(11)。
当我尝试插入其他类型的字符(例如□(U + a1f5))时,没有任何问题。
似乎Vim在26
(代表字符'&')被读取后立即停止解析。
那么,如何在Vim中插入这种Unicode字符(我试图将其粘贴到Vim中,它不起作用)? 请帮助!!!
答案 0 :(得分:6)
为了处理Unicode字符,Vim必须使用能够表示这些字符的'encoding'
。如果值为latin1
,则无法对提到的字符进行编码(此8位编码仅包含ASCII和几个西欧字符,请参阅here)。
所以,你需要
:set encoding=utf-8
这样,任何新创建的文件都将使用该编码,您应该能够插入Unicode字符并将其写入(也可以使用其他Unicode文件编码,例如:w ++enc=ucs-2le
;但是如果您尝试将其保留为{ {1}},您获得:w ++enc=latin1
)。