当我尝试输入这个Unicode字符:☑(U + 2611)在vim中使用如下命令:( ^Vu2611这意味着按ctrl+ V然后在插入模式下键入u2611 ),Vim以某种方式将其分成两个字符:&(26)和^Q(11) .
当我尝试插入其他类型的字符(如□(U + a1f5))时没有任何问题.
似乎Vim 26在读完之后立即停止了它的解析(代表字符'&').
那么,我如何在Vim中插入这种Unicode字符(我试图将其粘贴到Vim中,它不起作用)?请帮忙!!!
为了处理Unicode字符,Vim必须使用'encoding'能够表示这些字符的字符.如果值为latin1,则无法对提到的字符进行编码(此8位编码仅包括ASCII和几个西欧字符,请参见此处).
所以,你需要
:set encoding=utf-8
Run Code Online (Sandbox Code Playgroud)
有了这个,任何新创建的文件都将使用该编码,你应该能够插入Unicode字符并编写它们(也可以使用其他Unicode文件编码,:w ++enc=ucs-2le但是如果你试图坚持:w ++enc=latin1,你会得到一个CONVERSION ERROR).