关于vim、nvim的折腾
阅读原文时间:2023年07月12日阅读:1

1 from a view of enc

·nvim必须set enc=utf8,很多基于python的插件也默认了此,这对于中文这些并不友好,然而,vim支持多字节就好的多。
因为很多项目,大家可能配置什么都是基于windows平台的,所以有些proj代码也可能是gb2312编码的,nvim对于非u8的编码,先转换成u8再进行编辑,这就要求终端必须要设置成u8的编码,否则会乱码。终端设置成gb2312,在nvim里面设置set tenc=gb2312可以吗?不行的,记得之前有看到过,把别的编码转换成gb2312可以,但反之不行——无法通过编码值猜出来,vim,nvim 识别不了就是latin-1了,而u8编码是非常容易识别的。
https://blog.csdn.net/xuxuzwl/article/details/74011568

这就好比cat 一个文件,要显示正常,文件编码必须和终端编码一致。linux并不会帮你转换适配终端。

关于gb2312还得多说几句,在nvim里面,通常是euc-cn标识,在vim里面是cp936——这个是微软的定义,只是多了好像96的字,gbk支持了繁体等,gb18030那个就有2w多个的支持。这些还没有u8好用。
EUC-CN是GB2312最常用的表示方法。浏览器编码表上的“GB2312”,通常都是指“EUC-CN”表示法。
GB 2312字元使用两个字节来表示。
“第一位字节”使用0xB0-0xF7
“第二位字节”使用0xA1-0xFE

TBC